send control now has working metering, and switches back and forth between busses...
[ardour.git] / gtk2_ardour / session_import_dialog.cc
index 3776c3c04c21e0b64923163d3f810e3a52248102..d79f977b3e4827c84127ec0592ef0b1e760907bb 100644 (file)
 
 #include "session_import_dialog.h"
 
-#include <pbd/failed_constructor.h>
+#include "pbd/failed_constructor.h"
 
-#include <ardour/audio_region_importer.h>
-#include <ardour/audio_playlist_importer.h>
-#include <ardour/audio_track_importer.h>
-#include <ardour/location_importer.h>
-#include <ardour/tempo_map_importer.h>
+#include "ardour/audio_region_importer.h"
+#include "ardour/audio_playlist_importer.h"
+#include "ardour/audio_track_importer.h"
+#include "ardour/location_importer.h"
+#include "ardour/tempo_map_importer.h"
 
 #include <gtkmm2ext/utils.h>
 #include <gtkmm2ext/window_title.h>
@@ -34,6 +34,7 @@
 #include "prompter.h"
 #include "i18n.h"
 
+using namespace std;
 using namespace ARDOUR;
 
 SessionImportDialog::SessionImportDialog (ARDOUR::Session & target) :
@@ -68,6 +69,7 @@ SessionImportDialog::SessionImportDialog (ARDOUR::Session & target) :
        session_browser.set_name ("SessionBrowser");
        session_browser.append_column (_("Elements"), sb_cols.name);
        session_browser.append_column_editable (_("Import"), sb_cols.queued);
+       session_browser.set_tooltip_column (3);
        session_browser.get_column(0)->set_min_width (180);
        session_browser.get_column(1)->set_min_width (40);
        session_browser.get_column(1)->set_sizing (Gtk::TREE_VIEW_COLUMN_AUTOSIZE);
@@ -83,10 +85,6 @@ SessionImportDialog::SessionImportDialog (ARDOUR::Session & target) :
        
        get_vbox()->pack_start (session_scroll, false, false);
        
-       // Tooltips
-       session_browser.set_has_tooltip();
-       session_browser.signal_query_tooltip().connect(mem_fun(*this, &SessionImportDialog::query_tooltip));
-       
        // Buttons
        cancel_button = add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
        cancel_button->signal_clicked().connect (mem_fun (*this, &SessionImportDialog::end_dialog));
@@ -146,6 +144,7 @@ SessionImportDialog::fill_list ()
                        child[sb_cols.name] = (*element)->get_name();
                        child[sb_cols.queued] = false;
                        child[sb_cols.element] = *element;
+                       child[sb_cols.info] = (*element)->get_info();
                }
        }
 }
@@ -250,38 +249,12 @@ SessionImportDialog::show_info(const Gtk::TreeModel::Path& path, Gtk::TreeViewCo
        }
        
        Gtk::TreeModel::iterator cell = session_browser.get_model()->get_iter (path);
-       ElementPtr element = (*cell)[sb_cols.element];
-       string info = element->get_info();
+       string info = (*cell)[sb_cols.info];
        
        Gtk::MessageDialog msg (info, false, Gtk::MESSAGE_INFO, Gtk::BUTTONS_OK, true);
        msg.run();
 }
 
-bool
-SessionImportDialog::query_tooltip(int x, int y, bool keyboard_tooltip, const Glib::RefPtr<Gtk::Tooltip>& tooltip)
-{
-       Gtk::TreeModel::Path path;
-       Gtk::TreeViewColumn* column;
-       int cell_x, cell_y;
-       
-       // Get element
-       session_browser.get_path_at_pos (x, y, path, column, cell_x, cell_y);
-       if (path.gobj() == 0) {
-               return false;
-       }
-       Gtk::TreeModel::iterator row = session_browser.get_model()->get_iter (path);
-       //--row; // FIXME Strange offset in rows, if someone figures this out, please fix
-       ElementPtr element = (*row)[sb_cols.element];
-       if (element.get() == 0) {
-               return false;
-       }
-       
-       // Prepare tooltip
-       tooltip->set_text(element->get_info());
-       
-       return true;
-}
-
 void
 SessionImportDialog::end_dialog ()
 {