14 #ifndef MARBLE_MAINWINDOW_H
15 #define MARBLE_MAINWINDOW_H
18 #include <QMainWindow>
20 #include <QVariantMap>
33 class SunControlWidget;
34 class TimeControlWidget;
35 class QtMarbleConfigDialog;
36 class DownloadRegionDialog;
43 explicit MainWindow(
const QString& marbleDataPath = QString(),
44 const QVariantMap& cmdLineSettings = QVariantMap(),
61 void createMenus(
const QList<QAction*> &panelActions );
62 void createStatusBar();
64 QString readMarbleDataPath();
65 void readSettings(
const QVariantMap& overrideSettings = QVariantMap());
69 void showPosition(
const QString& position);
70 void showDistance(
const QString& position);
74 void initObject(
const QVariantMap& cmdLineSettings);
76 void updateSettings();
78 void fallBackToDefaultTheme();
83 void exportMapScreenShot();
84 void showDownloadRegionDialog();
85 void printMapScreenShot();
86 void workOffline(
bool );
91 void copyCoordinates();
92 void updateMapEditButtonVisibility(
const QString &mapTheme );
95 void lockPosition(
bool );
96 void createPluginsMenus();
97 void createPluginMenus();
98 void showClouds(
bool );
101 void showSun(
bool );
105 void showFullScreen(
bool );
106 void showStatusBar(
bool );
107 void setupStatusBar();
108 void setupDownloadProgressBar();
111 void enterWhatsThis();
116 void openEditBookmarkDialog();
118 void createBookmarksListMenu( QMenu *bookmarksListMenu,
const GeoDataContainer *container );
119 void lookAtBookmark( QAction * action );
120 void manageBookmarks();
121 void createBookmarkMenu();
122 void createFolderList( QMenu *bookmarksListMenu,
const GeoDataContainer *container );
123 void showBookmarks(
bool show );
126 void downloadRegion();
128 void showZoomLevel(
bool show );
130 void downloadJobAdded();
131 void downloadJobRemoved();
141 QList<QToolBar*> m_pluginToolbars;
143 QList<QMenu*> m_pluginMenus;
148 QMenu *m_settingsMenu;
150 QMenu *m_infoBoxesMenu;
151 QMenu *m_onlineServicesMenu;
152 QMenu *m_bookmarkMenu;
155 QAction *m_exportMapAct;
156 QAction *m_downloadAct;
157 QAction *m_downloadRegionAction;
158 QAction *m_printPreviewAct;
160 QAction *m_workOfflineAct;
162 QAction *m_mapWizardAct;
165 QAction *m_copyMapAct;
166 QAction *m_copyCoordinatesAct;
167 QAction *m_osmEditAction;
170 QAction *m_showCloudsAct;
171 QAction *m_controlSunAct;
172 QAction *m_controlTimeAct;
173 QAction *m_reloadAct;
176 QAction *m_fullScreenAct;
177 QAction *m_statusBarAct;
178 QAction *m_configDialogAct;
181 QAction *m_whatsThisAct;
182 QAction *m_aboutMarbleAct;
183 QAction *m_aboutQtAct;
184 QAction *m_lockFloatItemsAct;
185 QAction *m_handbookAct;
192 QLabel *m_positionLabel;
193 QLabel *m_distanceLabel;
195 QLabel *m_clockLabel;
196 QProgressBar *m_downloadProgressBar;
197 void updateStatusBar();
200 QAction *m_addBookmarkAct;
201 QAction *m_setHomeAct;
202 QAction *m_toggleBookmarkDisplayAct;
203 QAction *m_manageBookmarksAct;
205 QString m_lastFileOpenPath;
206 QStringList m_commandlineFilePaths;
void closeEvent(QCloseEvent *event)
A base class that can hold GeoDataFeatures.
ControlView * marbleControl()
MainWindow(const QString &marbleDataPath=QString(), QWidget *parent=0)
MarbleWidget * marbleWidget()
MarbleWidget * marbleWidget() const
void addGeoDataFile(const QString &path)