Skip to content

Commit fef272e

Browse files
committedSep 25, 2012
QgsCollapsibleGroupBox: rename mSaveState to mSaveCollapsedState and update saveState/restoreState, update raster save dialog
1 parent cf398ca commit fef272e

File tree

4 files changed

+35
-16
lines changed

4 files changed

+35
-16
lines changed
 

‎python/gui/qgscollapsiblegroupbox.sip

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,19 @@ class QgsCollapsibleGroupBox : QGroupBox
1111
bool isCollapsed() const;
1212
void setCollapsed( bool collapse );
1313

14-
//! set this to false to not save/restore check and collapse state
15-
void setSaveState( bool save );
16-
//! set this to true to save/restore checked state
17-
/** @note only turn on mSaveCheckedState for groupboxes NOT used
14+
//! set this to false to not save/restore collapsed state
15+
void setSaveCollapsedState( bool save );
16+
/** set this to true to save/restore checked state
17+
* @note only turn on mSaveCheckedState for groupboxes NOT used
1818
* in multiple places or used as options for different parent objects */
1919
void setSaveCheckedState( bool save );
20+
bool saveCollapsedState();
2021
bool saveCheckedState();
22+
2123
//! set this to a defined string to share save/restore collapsed state across dialogs
2224
void setSettingGroup( const QString &group );
2325
QString settingGroup() const;
26+
2427
//! set this to false to not automatically scroll parent QScrollArea to this widget's contents when expanded
2528
void setScrollOnExpand( bool scroll );
2629

‎src/gui/qgscollapsiblegroupbox.cpp

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ void QgsCollapsibleGroupBox::init()
5151
{
5252
// variables
5353
mCollapsed = false;
54-
mSaveState = true;
54+
mSaveCollapsedState = true;
5555
// NOTE: only turn on mSaveCheckedState for groupboxes NOT used
5656
// in multiple places or used as options for different parent objects
5757
mSaveCheckedState = false;
@@ -179,7 +179,7 @@ QString QgsCollapsibleGroupBox::saveKey() const
179179

180180
void QgsCollapsibleGroupBox::loadState()
181181
{
182-
if ( ! mSaveState )
182+
if ( !isEnabled() || ( !mSaveCollapsedState && !mSaveCheckedState ) )
183183
return;
184184

185185
setUpdatesEnabled( false );
@@ -193,22 +193,28 @@ void QgsCollapsibleGroupBox::loadState()
193193
if ( ! val.isNull() )
194194
setChecked( val.toBool() );
195195
}
196-
val = settings.value( key + "/collapsed" );
197-
if ( ! val.isNull() )
198-
setCollapsed( val.toBool() );
196+
if ( mSaveCollapsedState )
197+
{
198+
val = settings.value( key + "/collapsed" );
199+
if ( ! val.isNull() )
200+
setCollapsed( val.toBool() );
201+
}
199202

200203
setUpdatesEnabled( true );
201204
}
202205

203206
void QgsCollapsibleGroupBox::saveState()
204207
{
205-
if ( ! mSaveState )
208+
if ( !isEnabled() || ( !mSaveCollapsedState && !mSaveCheckedState ) )
206209
return;
210+
207211
QSettings settings;
208212
QString key = saveKey();
213+
209214
if ( mSaveCheckedState )
210215
settings.setValue( key + "/checked", isChecked() );
211-
settings.setValue( key + "/collapsed", isCollapsed() );
216+
if ( mSaveCollapsedState )
217+
settings.setValue( key + "/collapsed", isCollapsed() );
212218
}
213219

214220
void QgsCollapsibleGroupBox::checkToggled( bool chkd )

‎src/gui/qgscollapsiblegroupbox.h

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,19 @@ class GUI_EXPORT QgsCollapsibleGroupBox : public QGroupBox
4242
bool isCollapsed() const { return mCollapsed; }
4343
void setCollapsed( bool collapse );
4444

45-
//! set this to false to not save/restore check and collapse state
46-
void setSaveState( bool save ) { mSaveState = save; }
47-
//! set this to true to save/restore checked state
48-
/** @note only turn on mSaveCheckedState for groupboxes NOT used
45+
//! set this to false to not save/restore collapsed state
46+
void setSaveCollapsedState( bool save ) { mSaveCollapsedState = save; }
47+
/** set this to true to save/restore checked state
48+
* @note only turn on mSaveCheckedState for groupboxes NOT used
4949
* in multiple places or used as options for different parent objects */
5050
void setSaveCheckedState( bool save ) { mSaveCheckedState = save; }
51+
bool saveCollapsedState() { return mSaveCollapsedState; }
5152
bool saveCheckedState() { return mSaveCheckedState; }
53+
5254
//! set this to a defined string to share save/restore collapsed state across dialogs
5355
void setSettingGroup( const QString &group ) { mSettingGroup = group; }
5456
QString settingGroup() const { return mSettingGroup; }
57+
5558
//! set this to false to not automatically scroll parent QScrollArea to this widget's contents when expanded
5659
void setScrollOnExpand( bool scroll ) { mScrollOnExpand = scroll; }
5760

@@ -78,7 +81,7 @@ class GUI_EXPORT QgsCollapsibleGroupBox : public QGroupBox
7881
QString saveKey() const;
7982

8083
bool mCollapsed;
81-
bool mSaveState;
84+
bool mSaveCollapsedState;
8285
bool mSaveCheckedState;
8386
QString mSettingGroup;
8487
bool mInitFlat;

‎src/gui/qgsrasterlayersaveasdialog.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,13 @@ QgsRasterLayerSaveAsDialog::QgsRasterLayerSaveAsDialog( QgsRasterLayer* rasterLa
100100
mPyramidsGroupBox->setEnabled( false );
101101
}
102102

103+
// restore checked state for most groupboxes (default is to restore collapsed state)
104+
// create options and pyramids will be preset, if user has selected defaults in the gdal options dlg
105+
mCreateOptionsGroupBox->setSaveCheckedState( true );
106+
mTilesGroupBox->setSaveCheckedState( true );
107+
// don't restore nodata, it needs user input
108+
// pyramids are not necessarily built every time
109+
103110
updateCrsGroup();
104111

105112
QPushButton* okButton = mButtonBox->button( QDialogButtonBox::Ok );

0 commit comments

Comments
 (0)
Please sign in to comment.