X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Futils.cc;h=fce66bced1533f3a94927f8016c8c5f54d17d191;hb=efd859a0ee590d4c09d09abddc4c3e9ca2d26fc1;hp=e8dc56882870cfd2922471c60268ad544ba20f62;hpb=6ec731c5faccb2295a1599b2453866c28d7af61e;p=ardour.git diff --git a/gtk2_ardour/utils.cc b/gtk2_ardour/utils.cc index e8dc568828..fce66bced1 100644 --- a/gtk2_ardour/utils.cc +++ b/gtk2_ardour/utils.cc @@ -38,6 +38,7 @@ #include "pbd/basename.h" #include "pbd/file_utils.h" +#include "pbd/stacktrace.h" #include @@ -51,7 +52,7 @@ #include "public_editor.h" #include "keyboard.h" #include "utils.h" -#include "i18n.h" +#include "pbd/i18n.h" #include "rgb_macros.h" #include "gui_thread.h" #include "ui_config.h" @@ -263,6 +264,22 @@ ARDOUR_UI_UTILS::get_font_for_style (string widgetname) return Pango::FontDescription (pfd); /* make a copy */ } +Gdk::Color +ARDOUR_UI_UTILS::gdk_color_from_rgb (uint32_t rgb) +{ + Gdk::Color c; + set_color_from_rgb (c, rgb); + return c; +} + +Gdk::Color +ARDOUR_UI_UTILS::gdk_color_from_rgba (uint32_t rgba) +{ + Gdk::Color c; + set_color_from_rgb (c, rgba >> 8); + return c; +} + void ARDOUR_UI_UTILS::set_color_from_rgb (Gdk::Color& c, uint32_t rgb) { @@ -296,7 +313,6 @@ ARDOUR_UI_UTILS::gdk_color_to_rgba (Gdk::Color const& c) return RGBA_TO_UINT (r,g,b,a); } - bool ARDOUR_UI_UTILS::relay_key_press (GdkEventKey* ev, Gtk::Window* win) { @@ -334,65 +350,6 @@ ARDOUR_UI_UTILS::emulate_key_event (unsigned int keyval) return relay_key_press(&ev, &main_window); } -string -ARDOUR_UI_UTILS::show_gdk_event_state (int state) -{ - string s; - if (state & GDK_SHIFT_MASK) { - s += "+SHIFT"; - } - if (state & GDK_LOCK_MASK) { - s += "+LOCK"; - } - if (state & GDK_CONTROL_MASK) { - s += "+CONTROL"; - } - if (state & GDK_MOD1_MASK) { - s += "+MOD1"; - } - if (state & GDK_MOD2_MASK) { - s += "+MOD2"; - } - if (state & GDK_MOD3_MASK) { - s += "+MOD3"; - } - if (state & GDK_MOD4_MASK) { - s += "+MOD4"; - } - if (state & GDK_MOD5_MASK) { - s += "+MOD5"; - } - if (state & GDK_BUTTON1_MASK) { - s += "+BUTTON1"; - } - if (state & GDK_BUTTON2_MASK) { - s += "+BUTTON2"; - } - if (state & GDK_BUTTON3_MASK) { - s += "+BUTTON3"; - } - if (state & GDK_BUTTON4_MASK) { - s += "+BUTTON4"; - } - if (state & GDK_BUTTON5_MASK) { - s += "+BUTTON5"; - } - if (state & GDK_SUPER_MASK) { - s += "+SUPER"; - } - if (state & GDK_HYPER_MASK) { - s += "+HYPER"; - } - if (state & GDK_META_MASK) { - s += "+META"; - } - if (state & GDK_RELEASE_MASK) { - s += "+RELEASE"; - } - - return s; -} - Glib::RefPtr ARDOUR_UI_UTILS::get_xpm (std::string name) { @@ -446,7 +403,12 @@ ARDOUR_UI_UTILS::get_color_themes (map& themes) continue; } - themes.insert (make_pair (prop->value(), Glib::filename_to_utf8 (basename_nosuffix(*e)))); + std::string color_name = basename_nosuffix(*e); + size_t sep = color_name.find_first_of("-"); + if (sep != string::npos) { + color_name = color_name.substr (0, sep); + } + themes.insert (make_pair (prop->value(), color_name)); } } } @@ -810,3 +772,10 @@ ARDOUR_UI_UTILS::overwrite_file_dialog (Gtk::Window& parent, string title, strin return false; } } + +bool +ARDOUR_UI_UTILS::running_from_source_tree () +{ + gchar const *x = g_getenv ("ARDOUR_THEMES_PATH"); + return x && (string (x).find ("gtk2_ardour") != string::npos); +}