void HGLayout::setSpacing(int s) { HLayout::setSpacing(s); QGraphicsLayout* ll = layout(); if (!ll) return ; switch (layoutType()) { case HEnums::kVBox: case HEnums::kHBox: { QGraphicsLinearLayout* l = static_cast<QGraphicsLinearLayout*>(ll); l->setSpacing(s); break; } case HEnums::kGrid: { QGraphicsGridLayout* l = static_cast<QGraphicsGridLayout*>(ll); l->setSpacing(s); break; } case HEnums::kAnchor: { QGraphicsAnchorLayout* l = static_cast<QGraphicsAnchorLayout*>(ll); l->setSpacing(s); break; } default: break; } }
void StelMainGraphicsView::init(QSettings* conf) { Q_ASSERT(glWidget->isValid()); glWidget->makeCurrent(); // Create the main widget for stellarium, which in turn creates the main StelApp instance. mainSkyItem = new StelAppGraphicsWidget(); mainSkyItem->setZValue(-10); mainSkyItem->setContentsMargins(0,0,0,0); QGraphicsGridLayout* l = new QGraphicsGridLayout(backItem); l->setSpacing(0); l->setContentsMargins(0,0,0,0); l->addItem(mainSkyItem, 0, 0); backItem->setLayout(l); scene()->addItem(backItem); // Activate the resizing caused by the layout QCoreApplication::processEvents(); mainSkyItem->setFocus(); flagInvertScreenShotColors = conf->value("main/invert_screenshots_colors", false).toBool(); setFlagCursorTimeout(conf->value("gui/flag_mouse_cursor_timeout", false).toBool()); setCursorTimeout(conf->value("gui/mouse_cursor_timeout", 10.f).toFloat()); maxfps = conf->value("video/maximum_fps",10000.f).toFloat(); minfps = conf->value("video/minimum_fps",10000.f).toFloat(); StelPainter::initSystemGLInfo(glContext); QPainter qPainter(glWidget); StelPainter::setQPainter(&qPainter); // Initialize the core, including the StelApp instance. mainSkyItem->init(conf); // Prevent flickering on mac Leopard/Snow Leopard glWidget->setAutoFillBackground (false); #ifndef DISABLE_SCRIPTING scriptAPIProxy = new StelMainScriptAPIProxy(this); scriptMgr = new StelScriptMgr(this); #endif // Look for a static GUI plugins. foreach (QObject *plugin, QPluginLoader::staticInstances()) { StelGuiPluginInterface* pluginInterface = qobject_cast<StelGuiPluginInterface*>(plugin); if (pluginInterface) { gui = pluginInterface->getStelGuiBase(); } break; }
Layer::Layer(QGraphicsItem *parent) : QGraphicsWidget(parent), indexScene(new QGraphicsScene()), scenePainter(NULL) { QGraphicsGridLayout *layout = new QGraphicsGridLayout; layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing(0.0); setLayout(layout); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding, QSizePolicy::DefaultType); setCacheMode(QGraphicsItem::DeviceCoordinateCache); setMinimumSize(QSizeF(1, 1)); // so layout works }
QGraphicsLayout *DrillDownListItem::createLayout() { QGraphicsGridLayout *layout = new QGraphicsGridLayout(this); layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing(0); layout->addItem(titleLabelWidget(), 0, 0, Qt::AlignLeft | Qt::AlignVCenter); imageWidget()->setStyleName("CommonDrillDownIcon"); layout->addItem(imageWidget(), 0, 1, Qt::AlignCenter); if (MApplication::instance()->objectName() == "widgetsgallery") { setStyleName("CommonBasicListItem"); titleLabelWidget()->setStyleName("CommonSingleTitle"); imageWidget()->setImage("icon-m-common-drilldown-arrow"); } else { setStyleName("CommonBasicListItemInverted"); titleLabelWidget()->setStyleName("CommonSingleTitleInverted"); imageWidget()->setImage("icon-m-common-drilldown-arrow-inverse"); } return layout; }
MColorListViewPrivate::MColorListViewPrivate(MColorListView *p, MColorList *controller) : q_ptr(p), controller(controller), landscapePolicy(0), portraitPolicy(0), buttonGroup(0) { QGraphicsGridLayout *layout = new QGraphicsGridLayout(); layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing(0); controller->setLayout(layout); MStylableWidget* container = new MStylableWidget(); container->setStyleName("ColorSelectionContainer"); MLayout *containerLayout = new MLayout(); container->setLayout(containerLayout); landscapePolicy = new MGridLayoutPolicy(containerLayout); landscapePolicy->setContentsMargins(0, 0, 0, 0); landscapePolicy->setSpacing(0); containerLayout->setLandscapePolicy(landscapePolicy); portraitPolicy = new MGridLayoutPolicy(containerLayout); portraitPolicy->setContentsMargins(0, 0, 0, 0); portraitPolicy->setSpacing(0); containerLayout->setPortraitPolicy(portraitPolicy); layout->addItem(container, 0, 0); // Current color list colors << QColor(0x95, 0xE8, 0x5D); colors << QColor(0x73, 0xC0, 0xF5); colors << QColor(0xCB, 0xA4, 0xDE); colors << QColor(0xE9, 0x48, 0xA3); colors << QColor(0xFF, 0x9E, 0x9E); colors << QColor(0xFF, 0xF6, 0x57); colors << QColor(0x9C, 0x9C, 0x9C); colors << QColor(0x74, 0xD9, 0x41); colors << QColor(0x31, 0xB0, 0xDE); colors << QColor(0xBC, 0x79, 0xDE); colors << QColor(0xE9, 0x48, 0xA3); colors << QColor(0xFF, 0x79, 0x4D); colors << QColor(0xFB, 0xFF, 0x14); colors << QColor(0x80, 0x80, 0x80); colors << QColor(0x55, 0xD5, 0x00); colors << QColor(0x00, 0x88, 0xE6); colors << QColor(0xAE, 0x4E, 0xDE); colors << QColor(0xE9, 0x48, 0xA3); colors << QColor(0xFF, 0x40, 0x00); colors << QColor(0xFF, 0xE6, 0x00); colors << QColor(0x4D, 0x4D, 0x4D); colors << QColor(0x45, 0x90, 0x27); colors << QColor(0x00, 0x6F, 0xBA); colors << QColor(0x89, 0x3D, 0xAF); colors << QColor(0xE9, 0x48, 0xA3); colors << QColor(0xCC, 0x33, 0x00); colors << QColor(0xFF, 0x90, 0x00); colors << QColor(0x33, 0x33, 0x33); colors << QColor(0x00, 0x73, 0x00); colors << QColor(0x00, 0x41, 0x82); colors << QColor(0x5E, 0x2A, 0x78); colors << QColor(0xE9, 0x48, 0xA3); colors << QColor(0xB5, 0x2D, 0x00); colors << QColor(0xFF, 0x6A, 0x00); colors << QColor(0x1A, 0x1A, 0x1A); }
void Ut_MGridLayoutPolicy::testHeightForWidthInSubLayout() { QFETCH(bool, useMLayout); QFETCH(bool, useInnerMLayout); QFETCH(bool, putInnerWidgetInWidget); QGraphicsWidget *form = new QGraphicsWidget; MGridLayoutPolicy *mpolicy = NULL; QGraphicsGridLayout *qlayout = NULL; if (useMLayout) { MLayout *mlayout = new MLayout(form); mlayout->setContentsMargins(0, 0, 0, 0); mpolicy = new MGridLayoutPolicy(mlayout); mpolicy->setSpacing(0); } else { qlayout = new QGraphicsGridLayout(form); qlayout->setContentsMargins(0, 0, 0, 0); qlayout->setSpacing(0); } QGraphicsWidget *topSpacer = createSpacer(); QGraphicsWidget *leftSpacer = createSpacer(); QGraphicsWidget *rightSpacer = createSpacer(); leftSpacer->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); rightSpacer->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); QGraphicsWidget *square = new SquareWidget; QGraphicsLayout *innerLayout = NULL; if (useInnerMLayout) { innerLayout = new MLayout(); MLinearLayoutPolicy *policy = new MLinearLayoutPolicy(static_cast<MLayout *>(innerLayout), Qt::Horizontal); policy->addItem(square); } else { innerLayout = new QGraphicsLinearLayout(Qt::Horizontal); static_cast<QGraphicsLinearLayout *>(innerLayout)->addItem(square); } innerLayout->setContentsMargins(0,0,0,0); QGraphicsLayoutItem *innerItem; if (putInnerWidgetInWidget) { QGraphicsWidget *innerWidget = new QGraphicsWidget; innerWidget->setLayout(innerLayout); innerItem = innerWidget; } else { innerItem = innerLayout; } if (useMLayout) { mpolicy->addItem(topSpacer, 0, 1); mpolicy->addItem(leftSpacer, 1, 0); mpolicy->addItem(rightSpacer, 1, 2); mpolicy->addItem(innerItem, 1, 1); } else { qlayout->addItem(topSpacer, 0, 1); qlayout->addItem(leftSpacer, 1, 0); qlayout->addItem(rightSpacer, 1, 2); qlayout->addItem(innerItem, 1, 1); } QCOMPARE(form->preferredSize(), QSizeF(500,500)); QCOMPARE(form->effectiveSizeHint(Qt::PreferredSize, QSizeF(100,-1)), QSizeF(100,100)); delete form; }
void StelGui::init(QGraphicsWidget *atopLevelGraphicsWidget) { qDebug() << "Creating GUI ..."; StelGuiBase::init(atopLevelGraphicsWidget); skyGui = new SkyGui(atopLevelGraphicsWidget); locationDialog = new LocationDialog(atopLevelGraphicsWidget); helpDialog = new HelpDialog(atopLevelGraphicsWidget); dateTimeDialog = new DateTimeDialog(atopLevelGraphicsWidget); searchDialog = new SearchDialog(atopLevelGraphicsWidget); viewDialog = new ViewDialog(atopLevelGraphicsWidget); shortcutsDialog = new ShortcutsDialog(atopLevelGraphicsWidget); configurationDialog = new ConfigurationDialog(this, atopLevelGraphicsWidget); #ifdef ENABLE_SCRIPT_CONSOLE scriptConsole = new ScriptConsole(atopLevelGraphicsWidget); #endif astroCalcDialog = new AstroCalcDialog(atopLevelGraphicsWidget); bookmarksDialog = new BookmarksDialog(atopLevelGraphicsWidget); /////////////////////////////////////////////////////////////////////// // Create all the main actions of the program, associated with shortcuts /////////////////////////////////////////////////////////////////////// // Connect all the GUI actions signals with the Core of Stellarium StelActionMgr* actionsMgr = StelApp::getInstance().getStelActionManager(); // XXX: this should probably go into the script manager. QString datetimeGroup = N_("Date and Time"); QString windowsGroup = N_("Windows"); QString miscGroup = N_("Miscellaneous"); actionsMgr->addAction("actionQuit_Global", miscGroup, N_("Quit"), this, "quit()", "Ctrl+Q", "Ctrl+X"); actionsMgr->addAction("actionIncrease_Script_Speed", datetimeGroup, N_("Speed up the script execution rate"), this, "increaseScriptSpeed()"); actionsMgr->addAction("actionDecrease_Script_Speed", datetimeGroup, N_("Slow down the script execution rate"), this, "decreaseScriptSpeed()"); actionsMgr->addAction("actionSet_Real_Script_Speed", datetimeGroup, N_("Set the normal script execution rate"), this, "setRealScriptSpeed()"); actionsMgr->addAction("actionStop_Script", datetimeGroup, N_("Stop script execution"), this, "stopScript()", "Ctrl+D, S"); actionsMgr->addAction("actionPause_Script", datetimeGroup, N_("Pause script execution"), this, "pauseScript()", "Ctrl+D, P"); actionsMgr->addAction("actionResume_Script", datetimeGroup, N_("Resume script execution"), this, "resumeScript()", "Ctrl+D, R"); #ifdef ENABLE_SCRIPT_CONSOLE actionsMgr->addAction("actionShow_ScriptConsole_Window_Global", windowsGroup, N_("Script console window"), scriptConsole, "visible", "F12", "", true); #endif actionsMgr->addAction("actionShow_Help_Window_Global", windowsGroup, N_("Help window"), helpDialog, "visible", "F1", "", true); actionsMgr->addAction("actionShow_Configuration_Window_Global", windowsGroup, N_("Configuration window"), configurationDialog, "visible", "F2", "", true); actionsMgr->addAction("actionShow_Search_Window_Global", windowsGroup, N_("Search window"), searchDialog, "visible", "F3", "Ctrl+F", true); actionsMgr->addAction("actionShow_SkyView_Window_Global", windowsGroup, N_("Sky and viewing options window"), viewDialog, "visible", "F4", "", true); actionsMgr->addAction("actionShow_DateTime_Window_Global", windowsGroup, N_("Date/time window"), dateTimeDialog, "visible", "F5", "", true); actionsMgr->addAction("actionShow_Location_Window_Global", windowsGroup, N_("Location window"), locationDialog, "visible", "F6", "", true); actionsMgr->addAction("actionShow_Shortcuts_Window_Global", windowsGroup, N_("Shortcuts window"), shortcutsDialog, "visible", "F7", "", true); actionsMgr->addAction("actionShow_AstroCalc_Window_Global", windowsGroup, N_("AstroCalc window"), astroCalcDialog, "visible", "F10", "Alt+A", true); actionsMgr->addAction("actionShow_Bookmarks_Window_Global", windowsGroup, N_("Bookmarks window"), bookmarksDialog, "visible", "Alt+B", "", true); actionsMgr->addAction("actionSave_Copy_Object_Information_Global", miscGroup, N_("Copy selected object information to clipboard"), this, "copySelectedObjectInfo()", "Ctrl+C", "", true); QSettings* conf = StelApp::getInstance().getSettings(); Q_ASSERT(conf); setAutoHideHorizontalButtonBar(conf->value("gui/auto_hide_horizontal_toolbar", true).toBool()); setAutoHideVerticalButtonBar(conf->value("gui/auto_hide_vertical_toolbar", true).toBool()); actionsMgr->addAction("actionAutoHideHorizontalButtonBar", miscGroup, N_("Auto hide horizontal button bar"), this, "autoHideHorizontalButtonBar"); actionsMgr->addAction("actionAutoHideVerticalButtonBar", miscGroup, N_("Auto hide vertical button bar"), this, "autoHideVerticalButtonBar"); setGuiVisible(conf->value("gui/flag_show_gui", true).toBool()); actionsMgr->addAction("actionToggle_GuiHidden_Global", miscGroup, N_("Toggle visibility of GUI"), this, "visible", "Ctrl+T", "", true); #ifndef DISABLE_SCRIPTING StelScriptMgr* scriptMgr = &StelApp::getInstance().getScriptMgr(); connect(scriptMgr, SIGNAL(scriptRunning()), this, SLOT(scriptStarted())); connect(scriptMgr, SIGNAL(scriptStopped()), this, SLOT(scriptStopped())); #endif /////////////////////////////////////////////////////////////////////////// //// QGraphicsView based GUI /////////////////////////////////////////////////////////////////////////// // Add everything QPixmap pxmapDefault; QPixmap pxmapGlow(":/graphicGui/glow.png"); QPixmap pxmapOn(":/graphicGui/2-on-location.png"); QPixmap pxmapOff(":/graphicGui/2-off-location.png"); StelButton* b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow, "actionShow_Location_Window_Global"); skyGui->winBar->addButton(b); pxmapOn = QPixmap(":/graphicGui/1-on-time.png"); pxmapOff = QPixmap(":/graphicGui/1-off-time.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow, "actionShow_DateTime_Window_Global"); skyGui->winBar->addButton(b); pxmapOn = QPixmap(":/graphicGui/5-on-labels.png"); pxmapOff = QPixmap(":/graphicGui/5-off-labels.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow, "actionShow_SkyView_Window_Global"); skyGui->winBar->addButton(b); pxmapOn = QPixmap(":/graphicGui/6-on-search.png"); pxmapOff = QPixmap(":/graphicGui/6-off-search.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow, "actionShow_Search_Window_Global"); skyGui->winBar->addButton(b); pxmapOn = QPixmap(":/graphicGui/8-on-settings.png"); pxmapOff = QPixmap(":/graphicGui/8-off-settings.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow, "actionShow_Configuration_Window_Global"); skyGui->winBar->addButton(b); pxmapOn = QPixmap(":/graphicGui/9-on-help.png"); pxmapOff = QPixmap(":/graphicGui/9-off-help.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow, "actionShow_Help_Window_Global"); skyGui->winBar->addButton(b); QPixmap pxmapGlow32x32(":/graphicGui/glow32x32.png"); pxmapOn = QPixmap(":/graphicGui/btConstellationLines-on.png"); pxmapOff = QPixmap(":/graphicGui/btConstellationLines-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionShow_Constellation_Lines"); skyGui->buttonBar->addButton(b, "010-constellationsGroup"); pxmapOn = QPixmap(":/graphicGui/btConstellationLabels-on.png"); pxmapOff = QPixmap(":/graphicGui/btConstellationLabels-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionShow_Constellation_Labels"); skyGui->buttonBar->addButton(b, "010-constellationsGroup"); pxmapOn = QPixmap(":/graphicGui/btConstellationArt-on.png"); pxmapOff = QPixmap(":/graphicGui/btConstellationArt-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionShow_Constellation_Art"); skyGui->buttonBar->addButton(b, "010-constellationsGroup"); pxmapOn = QPixmap(":/graphicGui/btEquatorialGrid-on.png"); pxmapOff = QPixmap(":/graphicGui/btEquatorialGrid-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionShow_Equatorial_Grid"); skyGui->buttonBar->addButton(b, "020-gridsGroup"); pxmapOn = QPixmap(":/graphicGui/btAzimuthalGrid-on.png"); pxmapOff = QPixmap(":/graphicGui/btAzimuthalGrid-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionShow_Azimuthal_Grid"); skyGui->buttonBar->addButton(b, "020-gridsGroup"); pxmapOn = QPixmap(":/graphicGui/btGround-on.png"); pxmapOff = QPixmap(":/graphicGui/btGround-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionShow_Ground"); skyGui->buttonBar->addButton(b, "030-landscapeGroup"); pxmapOn = QPixmap(":/graphicGui/btCardinalPoints-on.png"); pxmapOff = QPixmap(":/graphicGui/btCardinalPoints-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionShow_Cardinal_Points"); skyGui->buttonBar->addButton(b, "030-landscapeGroup"); pxmapOn = QPixmap(":/graphicGui/btAtmosphere-on.png"); pxmapOff = QPixmap(":/graphicGui/btAtmosphere-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionShow_Atmosphere"); skyGui->buttonBar->addButton(b, "030-landscapeGroup"); pxmapOn = QPixmap(":/graphicGui/btNebula-on.png"); pxmapOff = QPixmap(":/graphicGui/btNebula-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionShow_Nebulas"); skyGui->buttonBar->addButton(b, "040-nebulaeGroup"); pxmapOn = QPixmap(":/graphicGui/btPlanets-on.png"); pxmapOff = QPixmap(":/graphicGui/btPlanets-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionShow_Planets_Labels"); skyGui->buttonBar->addButton(b, "040-nebulaeGroup"); pxmapOn = QPixmap(":/graphicGui/btEquatorialMount-on.png"); pxmapOff = QPixmap(":/graphicGui/btEquatorialMount-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionSwitch_Equatorial_Mount"); skyGui->buttonBar->addButton(b, "060-othersGroup"); pxmapOn = QPixmap(":/graphicGui/btGotoSelectedObject-on.png"); pxmapOff = QPixmap(":/graphicGui/btGotoSelectedObject-off.png"); buttonGotoSelectedObject = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionGoto_Selected_Object"); skyGui->buttonBar->addButton(buttonGotoSelectedObject, "060-othersGroup"); pxmapOn = QPixmap(":/graphicGui/btNightView-on.png"); pxmapOff = QPixmap(":/graphicGui/btNightView-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionShow_Night_Mode"); skyGui->buttonBar->addButton(b, "060-othersGroup"); pxmapOn = QPixmap(":/graphicGui/btFullScreen-on.png"); pxmapOff = QPixmap(":/graphicGui/btFullScreen-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionSet_Full_Screen_Global"); skyGui->buttonBar->addButton(b, "060-othersGroup"); pxmapOn = QPixmap(":/graphicGui/btTimeRewind-on.png"); pxmapOff = QPixmap(":/graphicGui/btTimeRewind-off.png"); buttonTimeRewind = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionDecrease_Time_Speed"); skyGui->buttonBar->addButton(buttonTimeRewind, "070-timeGroup"); pxmapOn = QPixmap(":/graphicGui/btTimeRealtime-on.png"); pxmapOff = QPixmap(":/graphicGui/btTimeRealtime-off.png"); pxmapDefault = QPixmap(":/graphicGui/btTimePause-on.png"); buttonTimeRealTimeSpeed = new StelButton(NULL, pxmapOn, pxmapOff, pxmapDefault, pxmapGlow32x32, "actionSet_Real_Time_Speed"); skyGui->buttonBar->addButton(buttonTimeRealTimeSpeed, "070-timeGroup"); pxmapOn = QPixmap(":/graphicGui/btTimeNow-on.png"); pxmapOff = QPixmap(":/graphicGui/btTimeNow-off.png"); buttonTimeCurrent = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionReturn_To_Current_Time"); skyGui->buttonBar->addButton(buttonTimeCurrent, "070-timeGroup"); pxmapOn = QPixmap(":/graphicGui/btTimeForward-on.png"); pxmapOff = QPixmap(":/graphicGui/btTimeForward-off.png"); buttonTimeForward = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, "actionIncrease_Time_Speed"); skyGui->buttonBar->addButton(buttonTimeForward, "070-timeGroup"); skyGui->buttonBar->setGroupMargin("070-timeGroup", 32, 0); pxmapOn = QPixmap(":/graphicGui/btQuit.png"); b = new StelButton(NULL, pxmapOn, pxmapOn, pxmapGlow32x32, "actionQuit_Global"); skyGui->buttonBar->addButton(b, "080-quitGroup"); // add the flip buttons if requested in the config setFlagShowFlipButtons(conf->value("gui/flag_show_flip_buttons", false).toBool()); setFlagShowNebulaBackgroundButton(conf->value("gui/flag_show_nebulae_background_button", false).toBool()); /////////////////////////////////////////////////////////////////////// // Create the main base widget skyGui->init(this); QGraphicsGridLayout* l = new QGraphicsGridLayout(); l->setContentsMargins(0,0,0,0); l->setSpacing(0); l->addItem(skyGui, 0, 0); atopLevelGraphicsWidget->setLayout(l); setStelStyle(StelApp::getInstance().getCurrentStelStyle()); skyGui->setGeometry(atopLevelGraphicsWidget->geometry()); skyGui->updateBarsPos(); // The disabled text for checkboxes is embossed with the QPalette::Light setting for the ColorGroup Disabled. // It doesn't appear to be possible to set this from the stylesheet. Instead we'll make it 100% transparent // and set the text color for disabled in the stylesheets. QPalette p = QGuiApplication::palette(); p.setColor(QPalette::Disabled, QPalette::Light, QColor(0,0,0,0)); // And this is for the focus... apparently the focus indicator is the inverted value for Active/Button. p.setColor(QPalette::Active, QPalette::Button, QColor(255,255,255)); QGuiApplication::setPalette(p); // FIXME: Workaround for set UI language when app is started --AW updateI18n(); StelApp *app = &StelApp::getInstance(); connect(app, SIGNAL(languageChanged()), this, SLOT(updateI18n())); connect(app, SIGNAL(colorSchemeChanged(const QString&)), this, SLOT(setStelStyle(const QString&))); initDone = true; }
void StelGui::init(QGraphicsWidget* atopLevelGraphicsWidget, StelAppGraphicsWidget* astelAppGraphicsWidget) { qDebug() << "Creating GUI ..."; StelGuiBase::init(atopLevelGraphicsWidget, astelAppGraphicsWidget); skyGui = new SkyGui(atopLevelGraphicsWidget); locationDialog = new LocationDialog(); helpDialog = new HelpDialog(); dateTimeDialog = new DateTimeDialog(); searchDialog = new SearchDialog(); viewDialog = new ViewDialog(); shortcutsDialog = new ShortcutsDialog(); configurationDialog = new ConfigurationDialog(this); #ifdef ENABLE_SCRIPT_CONSOLE scriptConsole = new ScriptConsole(); #endif /////////////////////////////////////////////////////////////////////// // Create all the main actions of the program, associated with shortcuts StelApp::getInstance().getStelShortcutManager()->loadShortcuts(); #ifdef ENABLE_SCRIPT_CONSOLE StelApp::getInstance().getStelShortcutManager()-> addGuiAction("actionShow_ScriptConsole_Window_Global", true, N_("Script console window"), "F12", "", N_("Windows"), true, false, true); #endif /////////////////////////////////////////////////////////////////////// // Connect all the GUI actions signals with the Core of Stellarium connect(getGuiAction("actionQuit_Global"), SIGNAL(triggered()), this, SLOT(quit())); initConstellationMgr(); initGrindLineMgr(); initLandscapeMgr(); NebulaMgr* nmgr = GETSTELMODULE(NebulaMgr); connect(getGuiAction("actionShow_Nebulas"), SIGNAL(toggled(bool)), nmgr, SLOT(setFlagHints(bool))); getGuiAction("actionShow_Nebulas")->setChecked(nmgr->getFlagHints()); StelSkyLayerMgr* imgr = GETSTELMODULE(StelSkyLayerMgr); connect(getGuiAction("actionShow_DSS"), SIGNAL(toggled(bool)), imgr, SLOT(setFlagShow(bool))); getGuiAction("actionShow_DSS")->setChecked(imgr->getFlagShow()); StelCore* core = StelApp::getInstance().getCore(); StelMovementMgr* mmgr = GETSTELMODULE(StelMovementMgr); connect(getGuiAction("actionIncrease_Script_Speed"), SIGNAL(triggered()), this, SLOT(increaseScriptSpeed())); connect(getGuiAction("actionDecrease_Script_Speed"), SIGNAL(triggered()), this, SLOT(decreaseScriptSpeed())); connect(getGuiAction("actionSet_Real_Script_Speed"), SIGNAL(triggered()), this, SLOT(setRealScriptSpeed())); connect(getGuiAction("actionStop_Script"), SIGNAL(triggered()), this, SLOT(stopScript())); connect(getGuiAction("actionPause_Script"), SIGNAL(triggered()), this, SLOT(pauseScript())); connect(getGuiAction("actionResume_Script"), SIGNAL(triggered()), this, SLOT(resumeScript())); connect(getGuiAction("actionIncrease_Time_Speed"), SIGNAL(triggered()), core, SLOT(increaseTimeSpeed())); connect(getGuiAction("actionDecrease_Time_Speed"), SIGNAL(triggered()), core, SLOT(decreaseTimeSpeed())); connect(getGuiAction("actionIncrease_Time_Speed_Less"), SIGNAL(triggered()), core, SLOT(increaseTimeSpeedLess())); connect(getGuiAction("actionDecrease_Time_Speed_Less"), SIGNAL(triggered()), core, SLOT(decreaseTimeSpeedLess())); connect(getGuiAction("actionSet_Real_Time_Speed"), SIGNAL(triggered()), core, SLOT(toggleRealTimeSpeed())); connect(getGuiAction("actionSet_Time_Rate_Zero"), SIGNAL(triggered()), core, SLOT(setZeroTimeSpeed())); connect(getGuiAction("actionReturn_To_Current_Time"), SIGNAL(triggered()), core, SLOT(setTimeNow())); connect(getGuiAction("actionSwitch_Equatorial_Mount"), SIGNAL(toggled(bool)), mmgr, SLOT(setEquatorialMount(bool))); getGuiAction("actionSwitch_Equatorial_Mount")->setChecked(mmgr->getMountMode() != StelMovementMgr::MountAltAzimuthal); connect(getGuiAction("actionAdd_Solar_Hour"), SIGNAL(triggered()), core, SLOT(addHour())); connect(getGuiAction("actionAdd_Solar_Day"), SIGNAL(triggered()), core, SLOT(addDay())); connect(getGuiAction("actionAdd_Solar_Week"), SIGNAL(triggered()), core, SLOT(addWeek())); connect(getGuiAction("actionSubtract_Solar_Hour"), SIGNAL(triggered()), core, SLOT(subtractHour())); connect(getGuiAction("actionSubtract_Solar_Day"), SIGNAL(triggered()), core, SLOT(subtractDay())); connect(getGuiAction("actionSubtract_Solar_Week"), SIGNAL(triggered()), core, SLOT(subtractWeek())); connect(getGuiAction("actionAdd_Sidereal_Day"), SIGNAL(triggered()), core, SLOT(addSiderealDay())); connect(getGuiAction("actionAdd_Sidereal_Week"), SIGNAL(triggered()), core, SLOT(addSiderealWeek())); connect(getGuiAction("actionAdd_Sidereal_Month"), SIGNAL(triggered()), core, SLOT(addSiderealMonth())); connect(getGuiAction("actionAdd_Sidereal_Year"), SIGNAL(triggered()), core, SLOT(addSiderealYear())); connect(getGuiAction("actionSubtract_Sidereal_Day"), SIGNAL(triggered()), core, SLOT(subtractSiderealDay())); connect(getGuiAction("actionSubtract_Sidereal_Week"), SIGNAL(triggered()), core, SLOT(subtractSiderealWeek())); connect(getGuiAction("actionSubtract_Sidereal_Month"), SIGNAL(triggered()), core, SLOT(subtractSiderealMonth())); connect(getGuiAction("actionSubtract_Sidereal_Year"), SIGNAL(triggered()), core, SLOT(subtractSiderealYear())); connect(getGuiAction("actionSet_Home_Planet_To_Selected"), SIGNAL(triggered()), core, SLOT(moveObserverToSelected())); connect(getGuiAction("actionGo_Home_Global"), SIGNAL(triggered()), core, SLOT(returnToHome())); // connect the actor after setting the nightmode. // StelApp::init() already set flagNightMode for us, don't do it twice! getGuiAction("actionShow_Night_Mode")->setChecked(StelApp::getInstance().getVisionModeNight()); connect(getGuiAction("actionShow_Night_Mode"), SIGNAL(toggled(bool)), &StelApp::getInstance(), SLOT(setVisionModeNight(bool))); connect(getGuiAction("actionGoto_Selected_Object"), SIGNAL(triggered()), mmgr, SLOT(setFlagTracking())); connect(getGuiAction("actionZoom_In_Auto"), SIGNAL(triggered()), mmgr, SLOT(autoZoomIn())); connect(getGuiAction("actionZoom_Out_Auto"), SIGNAL(triggered()), mmgr, SLOT(autoZoomOut())); connect(getGuiAction("actionSet_Tracking"), SIGNAL(toggled(bool)), mmgr, SLOT(setFlagTracking(bool))); getGuiAction("actionSet_Tracking")->setChecked(mmgr->getFlagTracking()); connect(getGuiAction("actionSet_Full_Screen_Global"), SIGNAL(toggled(bool)), &StelMainWindow::getInstance(), SLOT(setFullScreen(bool))); getGuiAction("actionSet_Full_Screen_Global")->setChecked(StelMainWindow::getInstance().isFullScreen()); QAction* tempAction = getGuiAction("actionShow_Location_Window_Global"); connect(tempAction, SIGNAL(toggled(bool)), locationDialog, SLOT(setVisible(bool))); connect(locationDialog, SIGNAL(visibleChanged(bool)), tempAction, SLOT(setChecked(bool))); #ifdef ENABLE_SCRIPT_CONSOLE tempAction = getGuiAction("actionShow_ScriptConsole_Window_Global"); connect(tempAction, SIGNAL(toggled(bool)), scriptConsole, SLOT(setVisible(bool))); connect(scriptConsole, SIGNAL(visibleChanged(bool)), tempAction, SLOT(setChecked(bool))); #endif tempAction = getGuiAction("actionShow_Configuration_Window_Global"); connect(tempAction, SIGNAL(toggled(bool)), configurationDialog, SLOT(setVisible(bool))); connect(configurationDialog, SIGNAL(visibleChanged(bool)), tempAction, SLOT(setChecked(bool))); tempAction = getGuiAction("actionShow_SkyView_Window_Global"); connect(tempAction, SIGNAL(toggled(bool)), viewDialog, SLOT(setVisible(bool))); connect(viewDialog, SIGNAL(visibleChanged(bool)), tempAction, SLOT(setChecked(bool))); tempAction = getGuiAction("actionShow_Help_Window_Global"); connect(tempAction, SIGNAL(toggled(bool)), helpDialog, SLOT(setVisible(bool))); connect(helpDialog, SIGNAL(visibleChanged(bool)), tempAction, SLOT(setChecked(bool))); tempAction = getGuiAction("actionShow_DateTime_Window_Global"); connect(tempAction, SIGNAL(toggled(bool)), dateTimeDialog, SLOT(setVisible(bool))); connect(dateTimeDialog, SIGNAL(visibleChanged(bool)), tempAction, SLOT(setChecked(bool))); tempAction = getGuiAction("actionShow_Search_Window_Global"); connect(tempAction, SIGNAL(toggled(bool)), searchDialog, SLOT(setVisible(bool))); connect(searchDialog, SIGNAL(visibleChanged(bool)), tempAction, SLOT(setChecked(bool))); tempAction = getGuiAction("actionShow_Shortcuts_Window_Global"); connect(tempAction, SIGNAL(toggled(bool)), shortcutsDialog, SLOT(setVisible(bool))); connect(shortcutsDialog, SIGNAL(visibleChanged(bool)), tempAction, SLOT(setChecked(bool))); connect(getGuiAction("actionSave_Screenshot_Global"), SIGNAL(triggered()), &StelMainGraphicsView::getInstance(), SLOT(saveScreenShot())); connect(getGuiAction("actionSave_Copy_Object_Information_Global"), SIGNAL(triggered()), this, SLOT(copySelectedObjectInfo())); getGuiAction("actionToggle_GuiHidden_Global")->setChecked(true); connect(getGuiAction("actionToggle_GuiHidden_Global"), SIGNAL(toggled(bool)), this, SLOT(setGuiVisible(bool))); connect(getGuiAction("actionHorizontal_Flip"), SIGNAL(toggled(bool)), StelApp::getInstance().getCore(), SLOT(setFlipHorz(bool))); getGuiAction("actionHorizontal_Flip")->setChecked(StelApp::getInstance().getCore()->getFlipHorz()); connect(getGuiAction("actionVertical_Flip"), SIGNAL(toggled(bool)), StelApp::getInstance().getCore(), SLOT(setFlipVert(bool))); getGuiAction("actionVertical_Flip")->setChecked(StelApp::getInstance().getCore()->getFlipVert()); StarMgr* smgr = GETSTELMODULE(StarMgr); connect(getGuiAction("actionShow_Stars"), SIGNAL(toggled(bool)), smgr, SLOT(setFlagStars(bool))); getGuiAction("actionShow_Stars")->setChecked(smgr->getFlagStars()); connect(getGuiAction("actionShow_Stars_Labels"), SIGNAL(toggled(bool)), smgr, SLOT(setFlagLabels(bool))); getGuiAction("actionShow_Stars_Labels")->setChecked(smgr->getFlagLabels()); SolarSystem* ssmgr = GETSTELMODULE(SolarSystem); connect(getGuiAction("actionShow_Planets_Labels"), SIGNAL(toggled(bool)), ssmgr, SLOT(setFlagLabels(bool))); getGuiAction("actionShow_Planets_Labels")->setChecked(ssmgr->getFlagLabels()); connect(getGuiAction("actionShow_Planets_Orbits"), SIGNAL(toggled(bool)), ssmgr, SLOT(setFlagOrbits(bool))); getGuiAction("actionShow_Planets_Orbits")->setChecked(ssmgr->getFlagOrbits()); connect(getGuiAction("actionShow_Planets_Trails"), SIGNAL(toggled(bool)), ssmgr, SLOT(setFlagTrails(bool))); getGuiAction("actionShow_Planets_Trails")->setChecked(ssmgr->getFlagTrails()); QSettings* conf = StelApp::getInstance().getSettings(); Q_ASSERT(conf); setAutoHideHorizontalButtonBar(conf->value("gui/auto_hide_horizontal_toolbar", true).toBool()); setAutoHideVerticalButtonBar(conf->value("gui/auto_hide_vertical_toolbar", true).toBool()); connect(getGuiAction("actionAutoHideHorizontalButtonBar"), SIGNAL(toggled(bool)), this, SLOT(setAutoHideHorizontalButtonBar(bool))); getGuiAction("actionAutoHideHorizontalButtonBar")->setChecked(getAutoHideHorizontalButtonBar()); connect(getGuiAction("actionAutoHideVerticalButtonBar"), SIGNAL(toggled(bool)), this, SLOT(setAutoHideVerticalButtonBar(bool))); getGuiAction("actionAutoHideVerticalButtonBar")->setChecked(getAutoHideVerticalButtonBar()); #ifndef DISABLE_SCRIPTING StelScriptMgr& scriptMgr = StelMainGraphicsView::getInstance().getScriptMgr(); connect(&scriptMgr, SIGNAL(scriptRunning()), this, SLOT(scriptStarted())); connect(&scriptMgr, SIGNAL(scriptStopped()), this, SLOT(scriptStopped())); #endif /////////////////////////////////////////////////////////////////////////// //// QGraphicsView based GUI /////////////////////////////////////////////////////////////////////////// // Add everything QPixmap pxmapDefault; QPixmap pxmapGlow(":/graphicGui/glow.png"); QPixmap pxmapOn(":/graphicGui/2-on-location.png"); QPixmap pxmapOff(":/graphicGui/2-off-location.png"); StelButton* b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow, getGuiAction("actionShow_Location_Window_Global")); skyGui->winBar->addButton(b); pxmapOn = QPixmap(":/graphicGui/1-on-time.png"); pxmapOff = QPixmap(":/graphicGui/1-off-time.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow, getGuiAction("actionShow_DateTime_Window_Global")); skyGui->winBar->addButton(b); pxmapOn = QPixmap(":/graphicGui/5-on-labels.png"); pxmapOff = QPixmap(":/graphicGui/5-off-labels.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow, getGuiAction("actionShow_SkyView_Window_Global")); skyGui->winBar->addButton(b); pxmapOn = QPixmap(":/graphicGui/6-on-search.png"); pxmapOff = QPixmap(":/graphicGui/6-off-search.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow, getGuiAction("actionShow_Search_Window_Global")); skyGui->winBar->addButton(b); pxmapOn = QPixmap(":/graphicGui/8-on-settings.png"); pxmapOff = QPixmap(":/graphicGui/8-off-settings.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow, getGuiAction("actionShow_Configuration_Window_Global")); skyGui->winBar->addButton(b); pxmapOn = QPixmap(":/graphicGui/9-on-help.png"); pxmapOff = QPixmap(":/graphicGui/9-off-help.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow, getGuiAction("actionShow_Help_Window_Global")); skyGui->winBar->addButton(b); QPixmap pxmapGlow32x32(":/graphicGui/glow32x32.png"); pxmapOn = QPixmap(":/graphicGui/btConstellationLines-on.png"); pxmapOff = QPixmap(":/graphicGui/btConstellationLines-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionShow_Constellation_Lines")); skyGui->buttonBar->addButton(b, "010-constellationsGroup"); pxmapOn = QPixmap(":/graphicGui/btConstellationLabels-on.png"); pxmapOff = QPixmap(":/graphicGui/btConstellationLabels-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionShow_Constellation_Labels")); skyGui->buttonBar->addButton(b, "010-constellationsGroup"); pxmapOn = QPixmap(":/graphicGui/btConstellationArt-on.png"); pxmapOff = QPixmap(":/graphicGui/btConstellationArt-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionShow_Constellation_Art")); skyGui->buttonBar->addButton(b, "010-constellationsGroup"); pxmapOn = QPixmap(":/graphicGui/btEquatorialGrid-on.png"); pxmapOff = QPixmap(":/graphicGui/btEquatorialGrid-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionShow_Equatorial_Grid")); skyGui->buttonBar->addButton(b, "020-gridsGroup"); pxmapOn = QPixmap(":/graphicGui/btAzimuthalGrid-on.png"); pxmapOff = QPixmap(":/graphicGui/btAzimuthalGrid-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionShow_Azimuthal_Grid")); skyGui->buttonBar->addButton(b, "020-gridsGroup"); pxmapOn = QPixmap(":/graphicGui/btGround-on.png"); pxmapOff = QPixmap(":/graphicGui/btGround-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionShow_Ground")); skyGui->buttonBar->addButton(b, "030-landscapeGroup"); pxmapOn = QPixmap(":/graphicGui/btCardinalPoints-on.png"); pxmapOff = QPixmap(":/graphicGui/btCardinalPoints-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionShow_Cardinal_Points")); skyGui->buttonBar->addButton(b, "030-landscapeGroup"); pxmapOn = QPixmap(":/graphicGui/btAtmosphere-on.png"); pxmapOff = QPixmap(":/graphicGui/btAtmosphere-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionShow_Atmosphere")); skyGui->buttonBar->addButton(b, "030-landscapeGroup"); pxmapOn = QPixmap(":/graphicGui/btNebula-on.png"); pxmapOff = QPixmap(":/graphicGui/btNebula-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionShow_Nebulas")); skyGui->buttonBar->addButton(b, "040-nebulaeGroup"); pxmapOn = QPixmap(":/graphicGui/btPlanets-on.png"); pxmapOff = QPixmap(":/graphicGui/btPlanets-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionShow_Planets_Labels")); skyGui->buttonBar->addButton(b, "040-nebulaeGroup"); pxmapOn = QPixmap(":/graphicGui/btEquatorialMount-on.png"); pxmapOff = QPixmap(":/graphicGui/btEquatorialMount-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionSwitch_Equatorial_Mount")); b->setChecked(getGuiAction("actionSwitch_Equatorial_Mount")->isChecked()); skyGui->buttonBar->addButton(b, "060-othersGroup"); pxmapOn = QPixmap(":/graphicGui/btGotoSelectedObject-on.png"); pxmapOff = QPixmap(":/graphicGui/btGotoSelectedObject-off.png"); buttonGotoSelectedObject = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionGoto_Selected_Object")); skyGui->buttonBar->addButton(buttonGotoSelectedObject, "060-othersGroup"); pxmapOn = QPixmap(":/graphicGui/btNightView-on.png"); pxmapOff = QPixmap(":/graphicGui/btNightView-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionShow_Night_Mode")); skyGui->buttonBar->addButton(b, "060-othersGroup"); pxmapOn = QPixmap(":/graphicGui/btFullScreen-on.png"); pxmapOff = QPixmap(":/graphicGui/btFullScreen-off.png"); b = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionSet_Full_Screen_Global")); skyGui->buttonBar->addButton(b, "060-othersGroup"); pxmapOn = QPixmap(":/graphicGui/btTimeRewind-on.png"); pxmapOff = QPixmap(":/graphicGui/btTimeRewind-off.png"); buttonTimeRewind = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionDecrease_Time_Speed")); skyGui->buttonBar->addButton(buttonTimeRewind, "070-timeGroup"); pxmapOn = QPixmap(":/graphicGui/btTimeRealtime-on.png"); pxmapOff = QPixmap(":/graphicGui/btTimeRealtime-off.png"); pxmapDefault = QPixmap(":/graphicGui/btTimePause-on.png"); buttonTimeRealTimeSpeed = new StelButton(NULL, pxmapOn, pxmapOff, pxmapDefault, pxmapGlow32x32, getGuiAction("actionSet_Real_Time_Speed")); skyGui->buttonBar->addButton(buttonTimeRealTimeSpeed, "070-timeGroup"); pxmapOn = QPixmap(":/graphicGui/btTimeNow-on.png"); pxmapOff = QPixmap(":/graphicGui/btTimeNow-off.png"); buttonTimeCurrent = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionReturn_To_Current_Time")); skyGui->buttonBar->addButton(buttonTimeCurrent, "070-timeGroup"); pxmapOn = QPixmap(":/graphicGui/btTimeForward-on.png"); pxmapOff = QPixmap(":/graphicGui/btTimeForward-off.png"); buttonTimeForward = new StelButton(NULL, pxmapOn, pxmapOff, pxmapGlow32x32, getGuiAction("actionIncrease_Time_Speed")); skyGui->buttonBar->addButton(buttonTimeForward, "070-timeGroup"); skyGui->buttonBar->setGroupMargin("070-timeGroup", 32, 0); pxmapOn = QPixmap(":/graphicGui/btQuit.png"); b = new StelButton(NULL, pxmapOn, pxmapOn, pxmapGlow32x32, getGuiAction("actionQuit_Global")); skyGui->buttonBar->addButton(b, "080-quitGroup"); // add the flip buttons if requested in the config setFlagShowFlipButtons(conf->value("gui/flag_show_flip_buttons", false).toBool()); setFlagShowNebulaBackgroundButton(conf->value("gui/flag_show_nebulae_background_button", false).toBool()); /////////////////////////////////////////////////////////////////////// // Create the main base widget skyGui->init(this); QGraphicsGridLayout* l = new QGraphicsGridLayout(); l->setContentsMargins(0,0,0,0); l->setSpacing(0); l->addItem(skyGui, 0, 0); stelAppGraphicsWidget->setLayout(l); setStelStyle(StelApp::getInstance().getCurrentStelStyle()); skyGui->setGeometry(stelAppGraphicsWidget->geometry()); skyGui->updateBarsPos(); // The disabled text for checkboxes is embossed with the QPalette::Light setting for the ColorGroup Disabled. // It doesn't appear to be possible to set this from the stylesheet. Instead we'll make it 100% transparent // and set the text color for disabled in the stylesheets. QPalette p = QApplication::palette(); p.setColor(QPalette::Disabled, QPalette::Light, QColor(0,0,0,0)); // And this is for the focus... apparently the focus indicator is the inverted value for Active/Button. p.setColor(QPalette::Active, QPalette::Button, QColor(255,255,255)); QApplication::setPalette(p); StelApp *app = &StelApp::getInstance(); connect(app, SIGNAL(languageChanged()), this, SLOT(updateI18n())); connect(app, SIGNAL(colorSchemeChanged(const QString&)), this, SLOT(setStelStyle(const QString&))); initDone = true; }
QGraphicsLayout * RightArrowItem::createLayout() { QGraphicsGridLayout *layout; MWidget *spacer; MLabel *titleLabel; MLabel *subTitleLabel = 0; MImageWidget *iconWidget = 0; MImageWidget *drillIconWidget; Qt::Alignment textAlignment = getTextAlignment (); layout = new QGraphicsGridLayout(this); layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing(0); titleLabel = titleLabelWidget (); titleLabel->setWordWrap (true); drillIconWidget = new MImageWidget ("icon-m-common-drilldown-arrow-inverse"); drillIconWidget->setStyleName ("CommonDrillDownIcon"); titleLabel->setStyleName(m_TitleStyleName); switch (itemStyle()) { case TitleWithSubtitle: SYS_DEBUG ("TitleWithSubtitle"); /* * The title label. */ layout->addItem (titleLabel, 0, 0); layout->setAlignment(titleLabel, Qt::AlignLeft | Qt::AlignVCenter); /* * The sub-title label. */ subTitleLabel = subtitleLabelWidget (); subTitleLabel->setStyleName("CommonSubTitleInverted"); layout->addItem (subTitleLabel, 1, 0); layout->setAlignment (subTitleLabel, Qt::AlignLeft | Qt::AlignVCenter); spacer = new MWidget; layout->addItem (spacer, 2, 0); /* * The drill down icon. */ layout->addItem(drillIconWidget, 0, 1, 3, 1); layout->setAlignment (drillIconWidget, Qt::AlignVCenter | Qt::AlignRight); break; case IconWithTitleAndSubtitle: SYS_DEBUG ("IconWithTitleAndSubtitle"); /* * The left side icon. */ iconWidget = imageWidget(); layout->addItem (iconWidget, 0, 0, 2, 1); layout->setAlignment (iconWidget, Qt::AlignVCenter | Qt::AlignRight); /* * The title label. */ layout->addItem (titleLabel, 0, 1); layout->setAlignment (titleLabel, Qt::AlignLeft | Qt::AlignVCenter); /* * The sub-title label. */ subTitleLabel = subtitleLabelWidget (); subTitleLabel->setStyleName("CommonSubTitleInverted"); layout->addItem (subTitleLabel, 1, 1, Qt::AlignLeft | Qt::AlignVCenter); /* * The drill down icon. */ layout->addItem(drillIconWidget, 0, 2, 2, 1); layout->setAlignment (drillIconWidget, Qt::AlignVCenter | Qt::AlignRight); break; case IconWithTitle: SYS_DEBUG ("IconWithTitle"); /* * The left side icon. */ iconWidget = imageWidget(); layout->addItem (iconWidget, 0, 0); layout->setAlignment (iconWidget, Qt::AlignVCenter | Qt::AlignRight); /* * The title label. */ titleLabel->setAlignment (textAlignment | Qt::AlignVCenter); layout->addItem (titleLabel, 0, 1); layout->setAlignment (titleLabel, Qt::AlignLeft | Qt::AlignVCenter); /* * The drill down icon. */ layout->addItem(drillIconWidget, 0, 2); layout->setAlignment (drillIconWidget, Qt::AlignVCenter | Qt::AlignRight); break; default: SYS_WARNING ("itemStyle not supported."); } setStyleName ("CommonPanelInverted"); return layout; }
SeasideListItemLarge::SeasideListItemLarge(MWidget *parent): MWidgetController(parent) { priv = new SeasideListItemLargePriv; setObjectName("SeasideListItemLarge"); QGraphicsGridLayout *grid = new QGraphicsGridLayout; grid->setContentsMargins(0, 0, 0, 0); grid->setSpacing(0); setLayout(grid); priv->image = new MImageWidget(); priv->image->setObjectName("SeasideListItemLargeThumbnail"); priv->image->setPreferredSize(64, 64); priv->image->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); grid->addItem(priv->image, 0, 0, 2, 2); priv->name = new SeasideLabel; priv->name->setObjectName("SeasideListItemLargeName"); priv->name->setPreferredWidth(SCREEN_WIDTH); priv->name->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum); grid->addItem(priv->name, 0, 2, 1, 1); priv->detail = new SeasideLabel; priv->detail->setObjectName("SeasideListItemLargeDetail"); priv->name->setPreferredWidth(SCREEN_WIDTH); priv->name->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); grid->addItem(priv->detail, 1, 2, 1, 1); priv->status = new SeasideLabel; priv->status->setObjectName("SeasideListItemLargeStatus"); priv->name->setPreferredWidth(SCREEN_WIDTH); priv->name->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); grid->addItem(priv->status, 2, 2, 1, 1); priv->favorite = new MImageWidget(); priv->favorite->setObjectName("SeasideListItemLargeFavorite"); priv->favorite->setPreferredSize(25, 25); priv->favorite->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); grid->addItem(priv->favorite, 2, 1, 1, 1); priv->presence = new MImageWidget(); priv->presence->setObjectName("SeasideListItemLargePresence"); priv->presence->setPreferredSize(25, 25); priv->presence->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); grid->addItem(priv->presence, 2, 0, 1, 1); priv->button = new MButton(); priv->button->setObjectName("SeasideListItemLargeButton"); priv->button->setPreferredSize(70, 70); priv->button->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); grid->addItem(priv->button, 0, 4, 4, 4); QObject::connect(priv->button, SIGNAL(clicked()), this, SIGNAL(buttonClicked())); priv->email = new MImageWidget(); priv->email->setObjectName("SeasideListItemLargeEmail"); priv->email->setPreferredSize(25, 25); priv->email->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); grid->addItem(priv->email, 2, 5, 1, 1); priv->sms = new MImageWidget(); priv->sms->setObjectName("SeasideListItemLargeSMS"); priv->sms->setPreferredSize(25, 25); priv->sms->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); grid->addItem(priv->sms, 2,4, 1, 1); priv->im = new MImageWidget(); priv->im->setObjectName("SeasideListItemLargeIM"); priv->im->setPreferredSize(25, 25); priv->im->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); grid->addItem(priv->im, 2, 3, 1, 1); priv->call = new MImageWidget(); priv->call->setObjectName("SeasideListItemLargeCall"); priv->call->setPreferredSize(25, 25); priv->call->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); grid->addItem(priv->call, 2, 6, 1, 1); }