merge with master
authorPaul Davis <paul@linuxaudiosystems.com>
Wed, 8 May 2013 18:48:28 +0000 (14:48 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Wed, 8 May 2013 18:48:28 +0000 (14:48 -0400)
12 files changed:
1  2 
gtk2_ardour/ardour_ui.h
gtk2_ardour/ardour_window.cc
gtk2_ardour/editor.cc
gtk2_ardour/editor.h
gtk2_ardour/public_editor.h
gtk2_ardour/theme_manager.cc
gtk2_ardour/theme_manager.h
gtk2_ardour/time_axis_view_item.cc
gtk2_ardour/ui_config_vars.h
gtk2_ardour/wscript
libs/gtkmm2ext/utils.cc
wscript

Simple merge
index f16032dc74381e059934080c67c7699f34e6f7d3,3d33b14e60be6cefddf51741bf6af7826cbf1628..eb5b919b523bbdd2eb45ab0a94aa5e1aa9fa3c9d
@@@ -88,8 -103,21 +103,21 @@@ ArdourWindow::init (
                 vice versa.
          */
  
-         set_type_hint (Gdk::WINDOW_TYPE_HINT_UTILITY);
 -      if (ARDOUR_UI::instance()->config()->all_floating_windows_are_dialogs.get()) {
++      if (ARDOUR_UI::instance()->config()->get_all_floating_windows_are_dialogs()) {
+               set_type_hint (Gdk::WINDOW_TYPE_HINT_DIALOG);
+       } else {
+               set_type_hint (Gdk::WINDOW_TYPE_HINT_UTILITY);
+       }
  
+       Gtk::Window* parent = WM::Manager::instance().transient_parent();
+       if (parent) {
+               set_transient_for (*parent);
+       }
+       
        ARDOUR_UI::CloseAllDialogs.connect (sigc::mem_fun (*this, &ArdourWindow::hide));
+       proxy = new WM::ProxyTemporary (get_title(), this);
+       WM::Manager::instance().register_window (proxy);
  }
  
Simple merge
Simple merge
index c76dd351962d0936a77c5a091189022d367e8fce,7a4dd5d59bfa1a1952c8bfb12505484f86c18606..909a6ffc65f49c109c115a8c2f8da2561907d029
  
  #include "pbd/statefuldestructible.h"
  
 +#include "canvas/fwd.h"
+ #include "gtkmm2ext/visibility_tracker.h"
  
  #include "editing.h"
 -#include "canvas.h"
  #include "selection.h"
  
  namespace ARDOUR {
index b1e549f29ea61907fa8ba10530f2866bd06d2ab7,5f707e3212cb6bef9b03222a8c7c344e84bca014..cd2645ddf66fd54a642ceb3d7bb968d02455f818
@@@ -58,11 -58,8 +59,11 @@@ ThemeManager::ThemeManager(
        , light_button (_("Light Theme"))
        , reset_button (_("Restore Defaults"))
        , flat_buttons (_("Draw \"flat\" buttons"))
-         
 +      , waveform_gradient_depth (0, 1.0, 0.1)
 +      , waveform_gradient_depth_label (_("Waveforms color gradient depth"))
 +      , timeline_item_gradient_depth (0, 2.0, 0.1)
 +      , timeline_item_gradient_depth_label (_("Timeline item gradient depth"))
 -      , gradient_waveforms (_("Draw waveforms with color gradient"))
+       , all_dialogs (_("All floating windows are dialogs"))
  {
        set_title (_("Theme Manager"));
  
        vbox->set_homogeneous (false);
        vbox->pack_start (theme_selection_hbox, PACK_SHRINK);
        vbox->pack_start (reset_button, PACK_SHRINK);
+ #ifndef __APPLE__
+       vbox->pack_start (all_dialogs, PACK_SHRINK);
+ #endif
        vbox->pack_start (flat_buttons, PACK_SHRINK);
 -      vbox->pack_start (gradient_waveforms, PACK_SHRINK);
 +
 +      Gtk::HBox* hbox = Gtk::manage (new Gtk::HBox());
 +      hbox->set_spacing (6);
 +      hbox->pack_start (waveform_gradient_depth, true, true);
 +      hbox->pack_start (waveform_gradient_depth_label, false, false);
 +      vbox->pack_start (*hbox, PACK_SHRINK);
 +
 +      hbox = Gtk::manage (new Gtk::HBox());
 +      hbox->set_spacing (6);
 +      hbox->pack_start (timeline_item_gradient_depth, true, true);
 +      hbox->pack_start (timeline_item_gradient_depth_label, false, false);
 +
 +      vbox->pack_start (*hbox, PACK_SHRINK);
        vbox->pack_start (scroller);
+       vbox->show_all ();
        add (*vbox);
  
 +      waveform_gradient_depth.set_update_policy (Gtk::UPDATE_DELAYED);
 +      timeline_item_gradient_depth.set_update_policy (Gtk::UPDATE_DELAYED);
 +      
        color_display.signal_button_press_event().connect (sigc::mem_fun (*this, &ThemeManager::button_press_event), false);
  
        color_dialog.get_colorsel()->set_has_opacity_control (true);
        light_button.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_light_theme_button_toggled));
        reset_button.signal_clicked().connect (sigc::mem_fun (*this, &ThemeManager::reset_canvas_colors));
        flat_buttons.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_flat_buttons_toggled));
 -      gradient_waveforms.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_gradient_waveforms_toggled));
 +      waveform_gradient_depth.signal_value_changed().connect (sigc::mem_fun (*this, &ThemeManager::on_waveform_gradient_depth_change));
 +      timeline_item_gradient_depth.signal_value_changed().connect (sigc::mem_fun (*this, &ThemeManager::on_timeline_item_gradient_depth_change));
+       all_dialogs.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_all_dialogs_toggled));
+       Gtkmm2ext::UI::instance()->set_tip (all_dialogs, 
+                                           string_compose (_("Mark all floating windows to be type \"Dialog\" rather than using \"Utility\" for some.\n"
+                                                             "This may help with some window managers. This requires a restart of %1 to take effect"),
+                                                           PROGRAM_NAME));
  
        set_size_request (-1, 400);
        setup_theme ();
@@@ -266,24 -259,23 +279,31 @@@ ThemeManager::on_flat_buttons_toggled (
        gtk_rc_reset_styles (gtk_settings_get_default());
  }
  
 -      ARDOUR_UI::config()->all_floating_windows_are_dialogs.set (all_dialogs.get_active());
+ void
+ ThemeManager::on_all_dialogs_toggled ()
+ {
++      ARDOUR_UI::config()->set_all_floating_windows_are_dialogs (all_dialogs.get_active());
+       ARDOUR_UI::config()->set_dirty ();
+ }
  void
 -ThemeManager::on_gradient_waveforms_toggled ()
 +ThemeManager::on_waveform_gradient_depth_change ()
  {
 -      ARDOUR_UI::config()->gradient_waveforms.set (gradient_waveforms.get_active());
 +      double v = waveform_gradient_depth.get_value();
 +
 +      ARDOUR_UI::config()->set_waveform_gradient_depth (v);
        ARDOUR_UI::config()->set_dirty ();
 -      
 -      gnome_canvas_waveview_set_gradient_waveforms (gradient_waveforms.get_active());
 +      ArdourCanvas::WaveView::set_global_gradient_depth (v);
 +}
  
 -      /* force a redraw */
 -      gtk_rc_reset_styles (gtk_settings_get_default());
 +
 +void
 +ThemeManager::on_timeline_item_gradient_depth_change ()
 +{
 +      double v = timeline_item_gradient_depth.get_value();
 +
 +      ARDOUR_UI::config()->set_timeline_item_gradient_depth (v);
 +      ARDOUR_UI::config()->set_dirty ();
  }
  
  void
@@@ -394,9 -386,9 +414,10 @@@ ThemeManager::setup_theme (
                light_button.set_active();
        }
        
 -      flat_buttons.set_active (ARDOUR_UI::config()->flat_buttons.get());
 -      all_dialogs.set_active (ARDOUR_UI::config()->all_floating_windows_are_dialogs.get());
 -      gradient_waveforms.set_active (ARDOUR_UI::config()->gradient_waveforms.get());
 +      flat_buttons.set_active (ARDOUR_UI::config()->get_flat_buttons());
 +      waveform_gradient_depth.set_value (ARDOUR_UI::config()->get_waveform_gradient_depth());
 +      timeline_item_gradient_depth.set_value (ARDOUR_UI::config()->get_timeline_item_gradient_depth());
++      all_dialogs.set_active (ARDOUR_UI::config()->get_all_floating_windows_are_dialogs());
        
        load_rc_file(rcfile, false);
  }
index 8ce34ccd57d260fc23dd3cdb37d174145eeb2e14,04aa3ed7701be838a9dbb6bf39edd15acb392270..5751b34fb0cf4dc47134d60c9bee290558ae28ca
@@@ -44,8 -43,8 +44,9 @@@ class ThemeManager : public ArdourWindo
        void on_dark_theme_button_toggled ();
        void on_light_theme_button_toggled ();
        void on_flat_buttons_toggled ();
 -      void on_gradient_waveforms_toggled ();
 +        void on_waveform_gradient_depth_change ();
 +        void on_timeline_item_gradient_depth_change ();
+       void on_all_dialogs_toggled ();
  
    private:
        struct ColorDisplayModelColumns : public Gtk::TreeModel::ColumnRecord {
        Gtk::RadioButton light_button;
        Gtk::Button reset_button;
        Gtk::CheckButton flat_buttons;
 +        Gtk::HScale waveform_gradient_depth;
 +        Gtk::Label waveform_gradient_depth_label;
 +        Gtk::HScale timeline_item_gradient_depth;
 +        Gtk::Label timeline_item_gradient_depth_label;
+       Gtk::CheckButton all_dialogs;
+       Gtk::CheckButton gradient_waveforms;
  
        bool button_press_event (GdkEventButton*);
  };
index b25ed5a934b33528e6285de25c661f60e0ac22dd,2b20b3c45e6db337c401003aafa25fbb87ebb7bd..ebda7312d46ada29786bed2eafc3af33d4cfbdc0
@@@ -264,12 -240,6 +264,12 @@@ TimeAxisViewItem::~TimeAxisViewItem(
        delete group;
  }
  
- TimeAxisViewItem::canvas_group_event (GdkEvent* ev)
 +bool
++TimeAxisViewItem::canvas_group_event (GdkEvent* /*ev*/)
 +{
 +      return false;
 +}
 +
  void
  TimeAxisViewItem::hide_rect ()
  {
index 9471c7a1ebaf8ae3d4e6c82ef928fe7eab9c32b2,ad266d967488e9e8566f94a3bda1751f0c16cbf5..600d0b28fbf04a9f4f46090170f1ad31ceed68d8
@@@ -19,6 -19,6 +19,7 @@@
  
  UI_CONFIG_VARIABLE(std::string, ui_rc_file, "ui-rc-file", "ardour3_ui_dark.rc")
  UI_CONFIG_VARIABLE(bool, flat_buttons, "flat-buttons", false)
 -UI_CONFIG_VARIABLE(bool, gradient_waveforms, "gradient-waveforms", false)
 +UI_CONFIG_VARIABLE(float, waveform_gradient_depth, "waveform-gradient-depth", 0.6)
 +UI_CONFIG_VARIABLE(float, timeline_item_gradient_depth, "timeline-item-gradient-depth", 1.3)
+ UI_CONFIG_VARIABLE(bool, all_floating_windows_are_dialogs, "all-floating-windows-are-dialogs", false)
  
index c473a4569bf4b43a92fe7862d54eb216476bb4f2,a9dc2ceff720fbbe1718ecfadb3b4cd5d40f46ed..b2260425ed93ce8151fb6029c6dfd2a306eb35fb
@@@ -372,10 -385,8 +372,10 @@@ def build(bld)
                               'libardour_cp',
                               'libgtk2_ardour',
                               'libgtkmm2ext',
 -                             'libtaglib']
 +                             'libtaglib',
 +                             'libcanvas'
 +                             ]
-         obj.target = 'ardour-3.0-vst.exe.so'
+         obj.target = 'ardour-' + bld.env['VERSION'] + '-vst.exe.so'
          obj.includes  = [ '../libs/fst', '.' ]
          obj.linkflags = ['-mwindows', '-Wl,--export-dynamic']
          obj.defines = ['_POSIX_SOURCE', 'USE_WS_PREFIX']
Simple merge
diff --cc wscript
Simple merge