X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fdockdialog.cpp;h=5f72be01bf587942f393dafea55720973d1737be;hb=02252941b29de64037116f4d37991a38d9ff0d94;hp=98034d364bb18e679f0d1c2ac5f1cd7270870e1d;hpb=3a3c4bca3a17137bec5d7960560934b91ef4146e;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/dockdialog.cpp b/synfig-studio/trunk/src/gtkmm/dockdialog.cpp index 98034d3..5f72be0 100644 --- a/synfig-studio/trunk/src/gtkmm/dockdialog.cpp +++ b/synfig-studio/trunk/src/gtkmm/dockdialog.cpp @@ -1,4 +1,4 @@ -/* === S I N F G =========================================================== */ +/* === S Y N F I G ========================================================= */ /*! \file dockdialog.cpp ** \brief Template File ** @@ -35,8 +35,8 @@ #include "dockbook.h" #include "dockmanager.h" #include "widget_compselect.h" -#include -#include +#include +#include #include #include #include @@ -45,7 +45,7 @@ #include "canvasview.h" #include #include -#include +#include #endif @@ -53,16 +53,18 @@ using namespace std; using namespace etl; -using namespace sinfg; +using namespace synfig; using namespace studio; /* === M A C R O S ========================================================= */ -#define GRAB_HINT_DATA(y) { \ +#define GRAB_HINT_DATA(y,default) { \ String x; \ - if(sinfgapp::Main::settings().get_value(String("pref.")+y+"_hints",x)) \ + if(synfigapp::Main::settings().get_value(String("pref.")+y+"_hints",x)) \ { \ set_type_hint((Gdk::WindowTypeHint)atoi(x.c_str())); \ + } else {\ + set_type_hint(default); \ } \ } @@ -84,12 +86,23 @@ DockDialog::DockDialog(): widget_comp_select=new Widget_CompSelect(); // Give ourselves an ID that is most likely unique - set_id(sinfg::UniqueID().get_uid()^reinterpret_cast(this)); + set_id(synfig::UniqueID().get_uid()^reinterpret_cast(this)); + + set_role(strprintf("dock_dialog_%d",get_id())); + GRAB_HINT_DATA( + "dock_dialog", +#ifdef __APPLE__ + Gdk::WINDOW_TYPE_HINT_NORMAL +#else + Gdk::WINDOW_TYPE_HINT_UTILITY +#endif + ); + set_keep_below(true); + set_keep_above(false); // Set up the window //set_type_hint(Gdk::WINDOW_TYPE_HINT_UTILITY); set_title("Dock Dialog"); - GRAB_HINT_DATA("dock_dialog"); // Register with the dock manager App::dock_manager->dock_dialog_list_.push_back(this); @@ -115,6 +128,7 @@ DockDialog::DockDialog(): add_accel_group(App::ui_manager()->get_accel_group()); App::signal_present_all().connect(sigc::mem_fun(*this,&DockDialog::present)); + } DockDialog::~DockDialog() @@ -155,7 +169,7 @@ DockDialog::~DockDialog() } catch(...) { - sinfg::warning("DockDialog::~DockDialog(): Exception thrown when trying to remove from dock manager...?"); + synfig::warning("DockDialog::~DockDialog(): Exception thrown when trying to remove from dock manager...?"); } delete widget_comp_select; @@ -278,7 +292,7 @@ DockDialog::erase_dock_book(DockBook* dock_book) void DockDialog::refresh() { - sinfg::info("dock_book_list.size()=%d",dock_book_list.size()); + synfig::info("dock_book_list.size()=%d",dock_book_list.size()); //remove(); if(dock_book_list.empty()) @@ -418,7 +432,7 @@ DockDialog::refresh_accel_group() bool DockDialog::close() { - sinfg::info("DockDialog::close(): DELETED!"); + synfig::info("DockDialog::close(): DELETED!"); empty_sig.disconnect(); //get_dock_book().clear(); delete this; @@ -440,10 +454,10 @@ DockDialog::get_dock_book()const } -sinfg::String +synfig::String DockDialog::get_contents()const { - sinfg::String ret; + synfig::String ret; std::list::const_iterator iter; for(iter=dock_book_list.begin();iter!=dock_book_list.end();++iter) @@ -458,20 +472,20 @@ DockDialog::get_contents()const } void -DockDialog::set_contents(const sinfg::String& z) +DockDialog::set_contents(const synfig::String& z) { int x,y; get_size(x,y); - sinfg::String str(z); + synfig::String str(z); while(!str.empty()) { unsigned int separator=str.find_first_of('-'); { unsigned int sep2=str.find_first_of('|'); - if(separator!=sinfg::String::npos || sep2!=sinfg::String::npos) + if(separator!=synfig::String::npos || sep2!=synfig::String::npos) { - if((separator==sinfg::String::npos || sep2::const_iterator iter; for(iter=dock_book_list.begin();iter!=dock_book_list.end();++iter)