summaryrefslogtreecommitdiffstats
path: root/qt-ui/mainwindow.cpp
AgeCommit message (Collapse)Author
2015-02-11Pass a fake dive site UUID to the callback.Gravatar Tomaz Canabrava
This is the start of the preparations to edit the dive site, passing a uuid so we can retrieve it later. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-11Copy the name and the coords when entering the EditDiveSite stateGravatar Tomaz Canabrava
Name and coords of the current dive are copied to the edit dive site screen. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-11Accept / Cancel location editGravatar Tomaz Canabrava
Make it possible to cancel or accept the location edit and get back to the mainwindow default state. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-11Enable the location edit widget on mainwindowGravatar Tomaz Canabrava
Clicking on the 'Manage' button now brings you to the widget to manage it. Nothing has been added on it yet. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-11Create a new state for the MainWindow: EditDiveSiteGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-11mainwindow.cpp: don't use ui.globePaneGravatar Lubomir I. Ivanov
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-11Add undo stackGravatar Grace Karanja
Add an instance of QUndoStack in the mainwindow, and add undo/redo actions in the edit menu. The QUndoStack will have a collection of QUndoCommands to process the undo and redo events. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-11Reverse undo bufferGravatar Grace Karanja
Reverse all the code using the UndoBuffer class so that we can use the QUndoStack and QUndoCommand classes. These are Qt's own inbuild undo framework classes, offering a better undo/redo process. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Fix build without marbleGravatar Tomaz Canabrava
If we have an null widget, we hide the stack. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Change the order of the quadrantsGravatar Dirk Hohndel
At least to me it seems more natural to enumerate them row by row instead of column by column, so now we do 1 2 instead of 1 3 3 4 2 4 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Rename the widget to better reflect what it doesGravatar Dirk Hohndel
This widget defines what's in each quadrant of the main window. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Remove the flicker issue and the resize issue.Gravatar Tomaz Canabrava
The flicker was caused by removing all widgets (and thus setting the size of the splitter to zero) and then re-adding them. I've added four QStackedWdigets that have a consistent size and the only thing I do now is to set the corresponding widget to visible without removing / readding anything, and thus, not messing with the sizes. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Don't set the state if it's the sameGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Save the size of the widgets to restore it later.Gravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Finish the cleanup of mainwindow.uiGravatar Tomaz Canabrava
This is the last patch in the series of clearing up the mainwindo.ui. Now to bugfixing. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Move the Profile out of the mainwindow.uiGravatar Tomaz Canabrava
And place it in mainwindow.cpp Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Remove the ProfileWidget from mainwindow.uiGravatar Tomaz Canabrava
It is now in mainwindo.cpp Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Remove the PlannerWidget from mainwindow.uiGravatar Tomaz Canabrava
Now it uses the states on the mainwindow.cpp and it's finally starting to be worth the hassle of reworking the UI. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Remove information panel from mainwindow.uiGravatar Tomaz Canabrava
Now it's created in the mainwindow.cpp as part of the new way to configure the interface. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Remove the Globe from the mainwindow.uiGravatar Tomaz Canabrava
Now it's started from mainwindo.cpp and it's part of the new states Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Remove the DiveList from the mainwindow.uiGravatar Tomaz Canabrava
It's now set up from the mainwindow.cpp file. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Correctly set up the Planner stateGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Create the method that changes the state of the applicationGravatar Tomaz Canabrava
Not used yet. The idea is to call 'setApplicationState("plan");' and all widgegts for plan will be magically setup because we added the plan state with registerApplicationState. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Change splitter names to something more meaningfullGravatar Tomaz Canabrava
listGlobe and infoProfileSplitters weren't good names as now we will be able to create more types of widgets there Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Add the modes for ADD and PLANGravatar Tomaz Canabrava
The Plan mode still misses a widget that was done directly inside the mainwindow. I'll extract it from there and create a proper class in the next commit. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Add the first call to registerApplicationStateGravatar Tomaz Canabrava
This will be used to set the 'default' state. The other two possible states right now are plan and add; those will be created right next. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Simplify a bit of codeGravatar Tomaz Canabrava
two #ifdef NO_PRINTING one over the other, merged them together. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-10Implement the registerApplicationState functionGravatar Tomaz Canabrava
This function registers the different widget layouts that we will have in subsurface. Currently we have three layouts (default, plan, add) and a few more are comming (for instance location) and the code is scattered around. It was making me unconfortable. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-09Add menu entries for undo/redoGravatar Grace Karanja
Add an edit menu with undo and redo submenus, and connect them to the UndoBuffer class. The submenus are only enabled when needed. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-07Add the .apd file extension to be treated as CSV fileGravatar Miika Turkia
Adding support for importing .apd files (APD Log Viewer). They are CSV files and already supported in CSV import, but the file extension .apd is added here. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-03Disable dive component copy/paste shortcuts when no profile showGravatar Dirk Hohndel
Instead of inventing another way to do this (and inevitably forgetting a path where this should be re-enabled) I renamed the DcShortcup related function and made them enable/disable the copy and paste shortcuts as well. Of course there now is one exception (isn't there always?): in "ADD" state we don't want to be able to switch DCs, but we do want to be able to paste. Fixes #825 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-29Don't reimplement the clear() methodGravatar Dirk Hohndel
Much easier and clearer. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-27Fix UI issues and warningGravatar Dirk Hohndel
Commit e219bc70f863 ("Refactor dctype -> divemode") introduced a few issues. For one thing it causes a warning about incorrect use of zorder - I don't see why this would be needed here, so I simply removed it. Secondly, it adds a new, automatically named layout element that therefore gets handled by our "consistent margin" code which creates a messy layout for the Dive Notes tab. This patch gives that horizontal layout a useful name and adds it to the list of "zero margin" layouts. Signed-off-by: Dirk Hohndel <dirk@hohndel.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-19Don't just change the location when double clicking on the globeGravatar Dirk Hohndel
Instead be consistent with other parts of the code and put us in editing mode so the user can accept / reject the change. See #800 Fixes #801 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-18Clean up the header filesGravatar Dirk Hohndel
Lots and lots and lots of header files were being included without being needed. This attempts to clean some of that crud up. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-06Another skeleton: LoadFileContentsGravatar Tomaz Canabrava
Also, do not pass QStringLists by pointer, uneeded. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-04The margin between toolbar and profile looked strangeGravatar Dirk Hohndel
Especially on Mac where there is already a lot of padding around the action buttons. Also made the spelling of the zeroMargins variable more consistent. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-04Attempt to move the more frequently used toolbar actions to the topGravatar Dirk Hohndel
This is highly dependent on the user, I guess. So I may be totally off here. But the previous order was pretty much random (and even tried to push one button in there twice in a row)... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-04Fix toolbar icon size issueGravatar Dirk Hohndel
Instead of messing with the margin (which didn't work, anyway), we need to set the size of the icons. Apparently on Linux this was implicitly done, but on Mac it didn't scale the icons and provided space for the largest one (and we have a couple that are twice as big as the others). What we really need are scalable icons that allow us to set the icon size relative to the font size. But for now this solves the ugliness on Mac. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-03Layout fine-tuning: remove the outermost margin around the windowGravatar Dirk Hohndel
That added visual distraction on some desktop themes. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-02Zero out the margins instead of just not changing themGravatar Dirk Hohndel
At least on the Mac some objects appear to have generous default margins. This creates a somewhat less wasteful layout. Still we have those massive margins around the toolbar buttons. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-02Layout fine tuning. Exclude a few more layouts.Gravatar Dirk Hohndel
The goal is to have things look as consistent as possible - so if some elements have another nested level of layouts, their margins need to be zero. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-02Remove all margins from mainwindow.ui fileGravatar Dirk Hohndel
And adjust them in code instead. This seems to look nice. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-02Give more layouts reasonable namesGravatar Dirk Hohndel
This time for the mainwindow. This includes an adjustment in the C++ code where we actually referenced one of those weird generic names. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-02Set up consistent margins in the various layoutsGravatar Dirk Hohndel
The hard coded margins were random and inconsistent and generally ended up with a rather unbalanced look. This was worse on Mac than on other platforms, as there the margins get exaggerated for some reason. This code is a bit of a hack and a bit brute force, but it seems to work to create a much more pleasing appearance. It may need some fine tuning (depending on OS or DE (under Linux)), but it definitely seems like a massive improvement. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-01User survey: always wait a weekGravatar Dirk Hohndel
I can't remember why I decided to show the survey immediately if someone was running a development version. Seems silly to me in retrospect. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-01Automatic update check with an opt outGravatar Dirk Hohndel
Store the last version used, the next time we can check, and the decision if the user does or does not want these checks in the settings. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-30Clear DC information when closing log fileGravatar Miika Turkia
Fixes #799 Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-30Connect the UserSurvey to its qt-parrentGravatar Anton Lundin
This makes sure the UserSurvey object is removed correctly by the qt object tracking system. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-30Remove NO_USERSURVEYGravatar Anton Lundin
Back in 71dbcdc0d625 ("Added the option of opening User Survey form explicitly") a define for not adding the user-survey was created. This is quite unnecessary and this removes that option. Based-on-patch-by: Nikhil Bharadwaj Gosala <nikhil.gosala@gmail.com> Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>