small changes to the mixer strip from thorwil
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 16 Nov 2006 19:34:57 +0000 (19:34 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 16 Nov 2006 19:34:57 +0000 (19:34 +0000)
git-svn-id: svn://localhost/ardour2/trunk@1135 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/icons/strip_width.png [new file with mode: 0644]
gtk2_ardour/mixer_strip.cc
gtk2_ardour/mixer_strip.h
gtk2_ardour/mixer_ui.cc
gtk2_ardour/time_axis_view.cc

diff --git a/gtk2_ardour/icons/strip_width.png b/gtk2_ardour/icons/strip_width.png
new file mode 100644 (file)
index 0000000..99a0e72
Binary files /dev/null and b/gtk2_ardour/icons/strip_width.png differ
index f79ac9bb93d8ba9b0d329c98e564fbc23e2f4c00..962683ebeac5548855a00a0e25ff1da78e9afdd7 100644 (file)
@@ -64,6 +64,8 @@ using namespace PBD;
 using namespace Gtk;
 using namespace Gtkmm2ext;
 
+int MixerStrip::scrollbar_height = 0;
+
 #ifdef VARISPEED_IN_MIXER_STRIP
 static void 
 speed_printer (char buf[32], Gtk::Adjustment& adj, void* arg)
@@ -110,7 +112,7 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session& sess, boost::shared_ptr<Route> rt
        comment_window = 0;
        comment_area = 0;
 
-       width_button.add (*(manage (new Gtk::Image (get_xpm("lr.xpm")))));
+       width_button.add (*(manage (new Gtk::Image (::get_icon("strip_width")))));
        hide_button.add (*(manage (new Gtk::Image (::get_icon("hide")))));
 
        input_label.set_text (_("Input"));
@@ -260,6 +262,21 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session& sess, boost::shared_ptr<Route> rt
        global_vpacker.pack_start (output_button, Gtk::PACK_SHRINK);
        global_vpacker.pack_start (comment_button, Gtk::PACK_SHRINK);
 
+       if (route()->master() || route()->control()) {
+               
+               if (scrollbar_height == 0) {
+                       HScrollbar scrollbar;
+                       Gtk::Requisition requisition;
+                       scrollbar.size_request (requisition);
+                       scrollbar_height = requisition.height;
+                       cerr << "scrollbar height = " << scrollbar_height << endl;
+               }
+
+               EventBox* spacer = manage (new EventBox);
+               spacer->set_size_request (-1, scrollbar_height);
+               global_vpacker.pack_start (*spacer, false, false);
+       }
+
        global_frame.add (global_vpacker);
        global_frame.set_shadow_type (Gtk::SHADOW_IN);
        global_frame.set_name ("BaseFrame");
index 5472778c178f7dff6b6cd0517f23730cd99c5f43..92da4c13fe74aa39054e4c0d7ea0bc91ab1865fd 100644 (file)
@@ -246,6 +246,7 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
        void engine_running();
        void engine_stopped();
 
+       static int scrollbar_height;
 };
 
 #endif /* __ardour_mixer_strip__ */
index ff3f7eb25fd5debb72a58784c9a90a26180d3452..d8e5fc6988857999661458601d282ee2e1ba48bc 100644 (file)
@@ -76,7 +76,7 @@ Mixer_UI::Mixer_UI (AudioEngine& eng)
        strip_packer.pack_end (scroller_base, true, true);
 
        scroller.add (strip_packer);
-       scroller.set_policy (Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
+       scroller.set_policy (Gtk::POLICY_ALWAYS, Gtk::POLICY_AUTOMATIC);
 
        track_model = ListStore::create (track_columns);
        track_display.set_model (track_model);
@@ -185,7 +185,7 @@ Mixer_UI::Mixer_UI (AudioEngine& eng)
        list_vpacker.pack_start (rhs_pane1, true, true);
 
        global_hpacker.pack_start (scroller, true, true);
-       global_hpacker.pack_start (out_packer, false, false);
+       global_hpacker.pack_start (out_packer, false, false, 12);
 
        list_hpane.add1(list_vpacker);
        list_hpane.add2(global_hpacker);
index da7d3863d7c6992b1d6602a95a13efc8a6914947..17a011baa7fe2d0791425cd4be9f261260d4e4e1 100644 (file)
@@ -393,23 +393,28 @@ TimeAxisView::name_entry_key_release (GdkEventKey* ev)
                allviews = editor.get_valid_views (0);
                if (allviews != 0) {
                        i = find (allviews->begin(), allviews->end(), this);
-                       if (i != allviews->end()) {
-                               do {
-                                       if(ev->keyval == GDK_Tab) {
-                                               if(++i == allviews->end()) { return true; }
-                                       } else {
-                                               if(i-- == allviews->begin()) { return true; }
-                                       }
-                               } while((*i)->hidden());
-                               
-                               if((*i)->height_style == Small) {
-                                       (*i)->set_height(Smaller);
+                       if (ev->keyval == GDK_Tab) {
+                               if (i != allviews->end()) {
+                                       do {
+                                               if (++i == allviews->end()) { return true; }
+                                       } while((*i)->hidden());
                                }
+                       } else {
+                               if (i != allviews->begin()) {
+                                       do {
+                                               if (--i == allviews->begin()) { return true; }
+                                       } while ((*i)->hidden());
+                               }
+                       }
 
-                               (*i)->name_entry.grab_focus();
+                       if ((*i)->height_style == Small) {
+                               (*i)->set_height(Smaller);
                        }
+                       
+                       (*i)->name_entry.grab_focus();
                }
                return true;
+
        case GDK_Up:
        case GDK_Down:
                name_entry_changed ();