gint UXManagerImpl::getDefaultTask( SPDesktop *desktop ) { gint taskNum = isWidescreen() ? 2 : 0; Glib::ustring prefPath = getLayoutPrefPath( desktop ); taskNum = Inkscape::Preferences::get()->getInt( prefPath + "task/taskset", taskNum ); taskNum = (taskNum < 0) ? 0 : (taskNum > 2) ? 2 : taskNum; return taskNum; }
void UXManagerImpl::setTask(SPDesktop* dt, gint val) { for (vector<SPDesktopWidget*>::iterator it = dtws.begin(); it != dtws.end(); ++it) { SPDesktopWidget* dtw = *it; // This is disabled in the 0.91 stable version as it breaks the GUI. // See bug #619903 // In case someone set this when it was enabled, we ignore this setting. //gboolean notDone = Inkscape::Preferences::get()->getBool("/options/workarounds/dynamicnotdone", false); gboolean notDone = false; if (dtw->desktop == dt) { int taskNum = val; switch (val) { default: case 0: dtw->setToolboxPosition("ToolToolbar", GTK_POS_LEFT); dtw->setToolboxPosition("CommandsToolbar", GTK_POS_TOP); if (notDone) { dtw->setToolboxPosition("AuxToolbar", GTK_POS_TOP); } dtw->setToolboxPosition("SnapToolbar", GTK_POS_RIGHT); taskNum = val; // in case it was out of range break; case 1: dtw->setToolboxPosition("ToolToolbar", GTK_POS_LEFT); dtw->setToolboxPosition("CommandsToolbar", GTK_POS_TOP); if (notDone) { dtw->setToolboxPosition("AuxToolbar", GTK_POS_TOP); } dtw->setToolboxPosition("SnapToolbar", GTK_POS_TOP); break; case 2: dtw->setToolboxPosition("ToolToolbar", GTK_POS_LEFT); dtw->setToolboxPosition("CommandsToolbar", GTK_POS_RIGHT); dtw->setToolboxPosition("SnapToolbar", GTK_POS_RIGHT); if (notDone) { dtw->setToolboxPosition("AuxToolbar", GTK_POS_RIGHT); } } Glib::ustring prefPath = getLayoutPrefPath( dtw->desktop ); Inkscape::Preferences::get()->setInt( prefPath + "task/taskset", taskNum ); } } }