* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
+
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
QGridLayout *main_layout = new QGridLayout( this );
setWindowTitle( qtr( "Preferences" ) );
+ /* Whether we want it or not, we need to destroy on close to get
+ consistency when reset */
+ setAttribute( Qt::WA_DeleteOnClose );
+
/* Create Panels */
tree_panel = new QWidget;
tree_panel_l = new QHBoxLayout;
types->setAlignment( Qt::AlignHCenter );
QHBoxLayout *types_l = new QHBoxLayout;
types_l->setSpacing( 3 ); types_l->setMargin( 3 );
- small = new QRadioButton( qtr("Basic"), types );
+ small = new QRadioButton( qtr( "Simple" ), types );
types_l->addWidget( small );
all = new QRadioButton( qtr("All"), types ); types_l->addWidget( all );
types->setLayout( types_l );
buttonsBox->addButton( save, QDialogButtonBox::AcceptRole );
buttonsBox->addButton( cancel, QDialogButtonBox::RejectRole );
- buttonsBox->addButton( reset, QDialogButtonBox::ActionRole );
+ buttonsBox->addButton( reset, QDialogButtonBox::ResetRole );
/* Layout */
main_layout->addWidget( tree_panel, 0, 0, 3, 1 );
main_layout->addWidget( types, 3, 0, 2, 1 );
- main_layout->addWidget( main_panel, 0, 1, 4, 1 );
- main_layout->addWidget( buttonsBox, 4, 1, 1 ,2 );
+ main_layout->addWidget( main_panel, 0, 1, 4, 2 );
+ main_layout->addWidget( buttonsBox, 4, 2, 1 ,1 );
main_layout->setColumnMinimumWidth( 0, 150 );
+ main_layout->setColumnMinimumWidth( 1, 10 );
main_layout->setColumnStretch( 0, 1 );
- main_layout->setColumnStretch( 1, 3 );
+ main_layout->setColumnStretch( 1, 0 );
+ main_layout->setColumnStretch( 2, 3 );
main_layout->setRowStretch( 2, 4 );
+ main_layout->setMargin( 9 );
setLayout( main_layout );
/* Margins */
tree_panel_l->setMargin( 1 );
- main_panel_l->setMargin( 3 );
+ main_panel_l->setLayoutMargins( 6, 0, 0, 3, 3 );
for( int i = 0; i < SPrefsMax ; i++ ) simple_panels[i] = NULL;
/* Save to file */
config_SaveConfigFile( p_intf, NULL );
+ destroyPanels();
+
+ hide();
+}
+
+void PrefsDialog::destroyPanels()
+{
+ msg_Dbg( p_intf, "Destroying the Panels" );
/* Delete the other panel in order to force its reload after clicking
on apply. In fact, if we don't do that, the preferences from the other
panels won't be accurate, so we would have to recreate the whole dialog,
}
current_simple_panel = NULL;
}
-
- hide();
}
+
/* Clean the preferences, dunno if it does something really */
void PrefsDialog::cancel()
{
{
config_ResetAll( p_intf );
config_SaveConfigFile( p_intf, NULL );
+
+ instance = NULL;
+ close();
}
}