Remove internal edit mode and add "content" tool.
[ardour.git] / gtk2_ardour / utils.cc
index 171fc631d551e0ea2bbce012ca86de2498693c8b..15d119cf20b8cb9890dd8d01998d4e93dd12d71b 100644 (file)
@@ -263,112 +263,6 @@ ARDOUR_UI_UTILS::get_font_for_style (string widgetname)
        return Pango::FontDescription (pfd); /* make a copy */
 }
 
-uint32_t
-ARDOUR_UI_UTILS::rgba_from_style (string style, uint32_t r, uint32_t g, uint32_t b, uint32_t a, string attr, int state, bool rgba)
-{
-       /* In GTK+2, styles aren't set up correctly if the widget is not
-          attached to a toplevel window that has a screen pointer.
-       */
-
-       static Gtk::Window* window = 0;
-
-       if (window == 0) {
-               window = new Window (WINDOW_TOPLEVEL);
-       }
-
-       Gtk::Label foo;
-
-       window->add (foo);
-
-       foo.set_name (style);
-       foo.ensure_style ();
-
-       GtkRcStyle* rc = foo.get_style()->gobj()->rc_style;
-
-       if (rc) {
-               if (attr == "fg") {
-                       r = rc->fg[state].red / 257;
-                       g = rc->fg[state].green / 257;
-                       b = rc->fg[state].blue / 257;
-
-                       /* what a hack ... "a" is for "active" */
-                       if (state == Gtk::STATE_NORMAL && rgba) {
-                               a = rc->fg[GTK_STATE_ACTIVE].red / 257;
-                       }
-               } else if (attr == "bg") {
-                       r = g = b = 0;
-                       r = rc->bg[state].red / 257;
-                       g = rc->bg[state].green / 257;
-                       b = rc->bg[state].blue / 257;
-               } else if (attr == "base") {
-                       r = rc->base[state].red / 257;
-                       g = rc->base[state].green / 257;
-                       b = rc->base[state].blue / 257;
-               } else if (attr == "text") {
-                       r = rc->text[state].red / 257;
-                       g = rc->text[state].green / 257;
-                       b = rc->text[state].blue / 257;
-               }
-       } else {
-               warning << string_compose (_("missing RGBA style for \"%1\""), style) << endl;
-       }
-
-       window->remove ();
-
-       if (state == Gtk::STATE_NORMAL && rgba) {
-               return (uint32_t) RGBA_TO_UINT(r,g,b,a);
-       } else {
-               return (uint32_t) RGBA_TO_UINT(r,g,b,255);
-       }
-}
-
-bool
-ARDOUR_UI_UTILS::rgba_p_from_style (string style, float *r, float *g, float *b, string attr, int state)
-{
-       static Gtk::Window* window = 0;
-       assert (r && g && b);
-
-       if (window == 0) {
-               window = new Window (WINDOW_TOPLEVEL);
-       }
-
-       Gtk::EventBox foo;
-
-       window->add (foo);
-
-       foo.set_name (style);
-       foo.ensure_style ();
-
-       GtkRcStyle* rc = foo.get_style()->gobj()->rc_style;
-
-       if (!rc) {
-               warning << string_compose (_("missing RGBA style for \"%1\""), style) << endl;
-               return false;
-       }
-       if (attr == "fg") {
-               *r = rc->fg[state].red / 65535.0;
-               *g = rc->fg[state].green / 65535.0;
-               *b = rc->fg[state].blue / 65535.0;
-       } else if (attr == "bg") {
-               *r = rc->bg[state].red / 65535.0;
-               *g = rc->bg[state].green / 65535.0;
-               *b = rc->bg[state].blue / 65535.0;
-       } else if (attr == "base") {
-               *r = rc->base[state].red / 65535.0;
-               *g = rc->base[state].green / 65535.0;
-               *b = rc->base[state].blue / 65535.0;
-       } else if (attr == "text") {
-               *r = rc->text[state].red / 65535.0;
-               *g = rc->text[state].green / 65535.0;
-               *b = rc->text[state].blue / 65535.0;
-       } else {
-               return false;
-       }
-
-       window->remove ();
-       return true;
-}
-
 void
 ARDOUR_UI_UTILS::set_color_from_rgb (Gdk::Color& c, uint32_t rgb)
 {
@@ -694,6 +588,9 @@ ARDOUR_UI_UTILS::get_icon_path (const char* cname, string icon_set, bool is_imag
                spath.add_subdirectory_to_paths ("icons");
                spath.add_subdirectory_to_paths (icon_set);
                
+               find_file (spath, name, data_file_path);
+       } else {
+               spath.add_subdirectory_to_paths ("icons");
                find_file (spath, name, data_file_path);
        }
        
@@ -708,7 +605,7 @@ ARDOUR_UI_UTILS::get_icon_path (const char* cname, string icon_set, bool is_imag
        
                if (!find_file (def, name, data_file_path)) {
                        fatal << string_compose (_("cannot find icon image for %1 using %2"), name, spath.to_string()) << endmsg;
-                       /*NOTREACHED*/
+                       abort(); /*NOTREACHED*/
                }
        }