mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Fixed the show / hide dialog shortcuts to take the splitter into consideration
Fixed the show / hide dialog shortcuts to take the splitter into consideration, So, here's the deal. We have a few QSplitters that takes care of helping us with the size of a few widgets, they are ok, and we should continue using them to manage the visibility of them too. But the way that we did before was to widget->hide(); something, and if you hided something using the splitter, by holding it's handle and collapsing the widget, then you used the 'ctrl+number' shortcut to show it, it whould only show a gray panel. This patch makes everything behave using the splitters. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
This commit is contained in:
parent
9993d49966
commit
7e9d6e2829
3 changed files with 55 additions and 17 deletions
|
@ -232,32 +232,54 @@ void MainWindow::on_actionYearlyStatistics_triggered()
|
|||
qDebug("actionYearlyStatistics");
|
||||
}
|
||||
|
||||
/**
|
||||
* So, here's the deal.
|
||||
* We have a few QSplitters that takes care of helping us with the
|
||||
* size of a few widgets, they are ok, and we should continue using them
|
||||
* to manage the visibility of them too. But the way that we did before was to
|
||||
* widget->hide(); something, and if you hided something using the splitter,
|
||||
* by holding it's handle and collapsing the widget, then you used the 'ctrl+number'
|
||||
* shortcut to show it, it whould only show a gray panel.
|
||||
*
|
||||
* This patch makes everything behave using the splitters.
|
||||
*/
|
||||
|
||||
#define BEHAVIOR QList<int>()
|
||||
void MainWindow::on_actionViewList_triggered()
|
||||
{
|
||||
ui->InfoWidget->setVisible(false);
|
||||
ui->ListWidget->setVisible(true);
|
||||
ui->ProfileWidget->setVisible(false);
|
||||
ui->listGlobeSplitter->setSizes( BEHAVIOR << EXPANDED << COLLAPSED);
|
||||
ui->mainSplitter->setSizes( BEHAVIOR << COLLAPSED << EXPANDED);
|
||||
}
|
||||
|
||||
void MainWindow::on_actionViewProfile_triggered()
|
||||
{
|
||||
ui->InfoWidget->setVisible(false);
|
||||
ui->ListWidget->setVisible(false);
|
||||
ui->ProfileWidget->setVisible(true);
|
||||
ui->infoProfileSplitter->setSizes(BEHAVIOR << COLLAPSED << EXPANDED);
|
||||
ui->mainSplitter->setSizes( BEHAVIOR << EXPANDED << COLLAPSED);
|
||||
}
|
||||
|
||||
void MainWindow::on_actionViewInfo_triggered()
|
||||
{
|
||||
ui->InfoWidget->setVisible(true);
|
||||
ui->ListWidget->setVisible(false);
|
||||
ui->ProfileWidget->setVisible(false);
|
||||
ui->infoProfileSplitter->setSizes(BEHAVIOR << EXPANDED << COLLAPSED);
|
||||
ui->mainSplitter->setSizes( BEHAVIOR << EXPANDED << COLLAPSED);
|
||||
}
|
||||
|
||||
void MainWindow::on_actionViewGlobe_triggered()
|
||||
{
|
||||
ui->infoProfileSplitter->setSizes(BEHAVIOR << COLLAPSED << EXPANDED);
|
||||
ui->mainSplitter->setSizes( BEHAVIOR << COLLAPSED << EXPANDED);
|
||||
}
|
||||
#undef BEHAVIOR
|
||||
|
||||
void MainWindow::on_actionViewAll_triggered()
|
||||
{
|
||||
ui->InfoWidget->setVisible(true);
|
||||
ui->ListWidget->setVisible(true);
|
||||
ui->ProfileWidget->setVisible(true);
|
||||
// big number squash the info profile to it's minimum.
|
||||
ui->infoProfileSplitter->setSizes(QList<int>() << 1 << 20000);
|
||||
|
||||
// big number squash the globe view.
|
||||
ui->listGlobeSplitter->setSizes(QList<int>() << 2000 << 1 );
|
||||
|
||||
// half and half?
|
||||
ui->mainSplitter->setSizes( QList<int>() << 1 << 1);
|
||||
}
|
||||
|
||||
void MainWindow::on_actionPreviousDC_triggered()
|
||||
|
@ -397,6 +419,7 @@ void MainWindow::initialUiSetup()
|
|||
resize(sz);
|
||||
ui->mainSplitter->restoreState(settings.value("mainSplitter").toByteArray());
|
||||
ui->infoProfileSplitter->restoreState(settings.value("infoProfileSplitter").toByteArray());
|
||||
ui->listGlobeSplitter->restoreState(settings.value("listGlobeSplitter").toByteArray());
|
||||
settings.endGroup();
|
||||
|
||||
settings.beginGroup("ListWidget");
|
||||
|
@ -488,6 +511,7 @@ void MainWindow::writeSettings()
|
|||
settings.setValue("size",size());
|
||||
settings.setValue("mainSplitter", ui->mainSplitter->saveState());
|
||||
settings.setValue("infoProfileSplitter", ui->infoProfileSplitter->saveState());
|
||||
settings.setValue("listGlobeSplitter", ui->listGlobeSplitter->saveState());
|
||||
settings.endGroup();
|
||||
|
||||
settings.beginGroup("ListWidget");
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
#define MAINWINDOW_H
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QModelIndex>
|
||||
#include <QAction>
|
||||
|
||||
struct DiveList;
|
||||
class QSortFilterProxyModel;
|
||||
class DiveTripModel;
|
||||
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class MainWindow;
|
||||
|
@ -35,6 +35,8 @@ class MainWindow : public QMainWindow
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum {COLLAPSED, EXPANDED};
|
||||
|
||||
MainWindow();
|
||||
ProfileGraphicsView *graphics();
|
||||
MainTab *information();
|
||||
|
@ -71,6 +73,7 @@ private Q_SLOTS:
|
|||
void on_actionViewList_triggered();
|
||||
void on_actionViewProfile_triggered();
|
||||
void on_actionViewInfo_triggered();
|
||||
void on_actionViewGlobe_triggered();
|
||||
void on_actionViewAll_triggered();
|
||||
void on_actionPreviousDC_triggered();
|
||||
void on_actionNextDC_triggered();
|
||||
|
@ -102,6 +105,7 @@ private:
|
|||
void redrawProfile();
|
||||
void file_save();
|
||||
void file_save_as();
|
||||
void setupSplitters();
|
||||
};
|
||||
|
||||
MainWindow *mainWindow();
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
<string>MainWindow</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QSplitter" name="mainSplitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
|
@ -92,7 +92,7 @@
|
|||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<item row="1" column="0">
|
||||
<widget class="KMessageWidget" name="mainErrorMessage" native="true"/>
|
||||
</item>
|
||||
</layout>
|
||||
|
@ -147,7 +147,9 @@
|
|||
<addaction name="actionViewList"/>
|
||||
<addaction name="actionViewProfile"/>
|
||||
<addaction name="actionViewInfo"/>
|
||||
<addaction name="actionViewGlobe"/>
|
||||
<addaction name="actionViewAll"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionPreviousDC"/>
|
||||
<addaction name="actionNextDC"/>
|
||||
</widget>
|
||||
|
@ -323,7 +325,7 @@
|
|||
<string>View All</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+4</string>
|
||||
<string>Ctrl+5</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionPreviousDC">
|
||||
|
@ -365,6 +367,14 @@
|
|||
<string>F1</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionViewGlobe">
|
||||
<property name="text">
|
||||
<string>View Globe</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+4</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
|
|
Loading…
Add table
Reference in a new issue