uichooser_widget.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include <qradiobutton.h>
00019 #include <qbuttongroup.h>
00020 #include <qcheckbox.h>
00021 #include <kmdidefines.h>
00022 #include <kapplication.h>
00023 #include <kconfig.h>
00024 #include <kdebug.h>
00025 #include <kdeversion.h>
00026
00027 #include "uichooser_part.h"
00028 #include "kdevmainwindow.h"
00029 #include "uichooser_widget.h"
00030
00031 UIChooserWidget::UIChooserWidget( UIChooserPart * part, QWidget *parent, const char *name)
00032 : UIChooser(parent, name)
00033 ,m_part(part), _lastMode(0L)
00034 {
00035 load();
00036 }
00037
00038 void UIChooserWidget::load()
00039 {
00040 KConfig *config = kapp->config();
00041 config->setGroup("UI");
00042
00043 int mdi = config->readNumEntry("MDIMode", KMdi::IDEAlMode);
00044
00045 switch (mdi)
00046 {
00047 case KMdi::ChildframeMode:
00048 modeMDI->setChecked(true);
00049 _lastMode = modeMDI;
00050 break;
00051 case KMdi::TabPageMode:
00052 modeTab->setChecked(true);
00053 _lastMode = modeTab;
00054 break;
00055 case KMdi::ToplevelMode:
00056 modeToplevel->setChecked(true);
00057 _lastMode = modeToplevel;
00058 break;
00059 case KMdi::IDEAlMode:
00060 modeIDEAl->setChecked(true);
00061 _lastMode = modeIDEAl;
00062 break;
00063 default:
00064 break;
00065 }
00066
00067 int mdistyle = config->readNumEntry( "MDIStyle", 1 );
00068 switch( mdistyle )
00069 {
00070 case 0:
00071 IconsOnly->setChecked( true );
00072 break;
00073 case 1:
00074 TextOnly->setChecked( true );
00075 break;
00076 case 3:
00077 TextAndIcons->setChecked( true );
00078 break;
00079 default:
00080 TextOnly->setChecked( true );
00081 }
00082
00083 int tabVisibility = config->readNumEntry( "TabWidgetVisibility", KMdi::AlwaysShowTabs );
00084 switch( tabVisibility )
00085 {
00086 case KMdi::AlwaysShowTabs:
00087 AlwaysShowTabs->setChecked( true );
00088 break;
00089 case KMdi::ShowWhenMoreThanOneTab:
00090 ShowWhenMoreThanOneTab->setChecked( true );
00091 break;
00092 case KMdi::NeverShowTabs:
00093 NeverShowTabs->setChecked( true );
00094 break;
00095 }
00096
00097 bool CloseOnHover = config->readBoolEntry( "CloseOnHover", false );
00098 bool CloseOnHoverDelay = config->readBoolEntry( "CloseOnHoverDelay", false );
00099
00100 if ( CloseOnHover && CloseOnHoverDelay )
00101 {
00102 DoDelayedCloseOnHover->setChecked( true );
00103 }
00104 else if ( CloseOnHover && !CloseOnHoverDelay )
00105 {
00106 DoCloseOnHover->setChecked( true );
00107 }
00108 else
00109 {
00110 DoNotCloseOnHover->setChecked( true );
00111 }
00112 OpenNewTabAfterCurrent->setChecked(config->readBoolEntry( "OpenNewTabAfterCurrent", false ));
00113 ShowTabIcons->setChecked(config->readBoolEntry( "ShowTabIcons", true ));
00114 ShowCloseTabsButton->setChecked(config->readBoolEntry( "ShowCloseTabsButton", true ));
00115 }
00116
00117
00118 void UIChooserWidget::save()
00119 {
00120 KConfig *config = kapp->config();
00121 config->setGroup("UI");
00122
00123 if (modeTab->isChecked())
00124 config->writeEntry("MDIMode", KMdi::TabPageMode);
00125 else if (modeToplevel->isChecked())
00126 config->writeEntry("MDIMode", KMdi::ToplevelMode);
00127 else if (modeMDI->isChecked())
00128 config->writeEntry("MDIMode", KMdi::ChildframeMode);
00129 else
00130 config->writeEntry("MDIMode", KMdi::IDEAlMode);
00131
00132 if ( AlwaysShowTabs->isChecked() )
00133 {
00134 config->writeEntry( "TabWidgetVisibility", KMdi::AlwaysShowTabs );
00135 }
00136 else if ( ShowWhenMoreThanOneTab->isChecked() )
00137 {
00138 config->writeEntry( "TabWidgetVisibility", KMdi::ShowWhenMoreThanOneTab );
00139 }
00140 else if ( NeverShowTabs->isChecked() )
00141 {
00142 config->writeEntry( "TabWidgetVisibility", KMdi::NeverShowTabs );
00143 }
00144
00145 if ( DoNotCloseOnHover->isChecked() )
00146 {
00147 config->writeEntry( "CloseOnHover", false );
00148 config->writeEntry( "CloseOnHoverDelay", false );
00149 }
00150 else if ( DoCloseOnHover->isChecked() )
00151 {
00152 config->writeEntry( "CloseOnHover", true );
00153 config->writeEntry( "CloseOnHoverDelay", false );
00154 }
00155 else if ( DoDelayedCloseOnHover->isChecked() )
00156 {
00157 config->writeEntry( "CloseOnHover", true );
00158 config->writeEntry( "CloseOnHoverDelay", true );
00159 }
00160
00161
00162 if ( IconsOnly->isChecked() )
00163 {
00164 config->writeEntry( "MDIStyle", 0 );
00165 }
00166 else if ( TextAndIcons->isChecked() )
00167 {
00168 config->writeEntry( "MDIStyle", 3 );
00169 }
00170 else
00171 {
00172 config->writeEntry( "MDIStyle", 1 );
00173 }
00174 config->writeEntry("OpenNewTabAfterCurrent", OpenNewTabAfterCurrent->isChecked());
00175 config->writeEntry("ShowTabIcons", ShowTabIcons->isChecked());
00176 config->writeEntry("ShowCloseTabsButton", ShowCloseTabsButton->isChecked());
00177
00178 config->sync();
00179 }
00180
00181
00182 void UIChooserWidget::accept()
00183 {
00184 save();
00185
00186
00187
00188 if (modeIDEAl->isChecked() && _lastMode != modeIDEAl ) {
00189 m_part->mainWindow()->setUserInterfaceMode("KMDI-IDEAl");
00190 }
00191 else if (modeTab->isChecked() && _lastMode != modeTab ) {
00192 m_part->mainWindow()->setUserInterfaceMode("TabPage");
00193 }
00194 else if (modeToplevel->isChecked() && _lastMode != modeToplevel ) {
00195 m_part->mainWindow()->setUserInterfaceMode("Toplevel");
00196 }
00197 else if (modeMDI->isChecked() && _lastMode != modeMDI ) {
00198 m_part->mainWindow()->setUserInterfaceMode("Childframe");
00199 }
00200 }
00201
00202 void UIChooserWidget::maybeEnableCloseOnHover( bool )
00203 {
00204 if ( sender() == modeMDI || sender() == modeToplevel )
00205 {
00206 HoverCloseGroup->setEnabled( false );
00207 }
00208 else if ( !NeverShowTabs->isChecked() )
00209 {
00210 HoverCloseGroup->setEnabled( true );
00211 }
00212 }
00213
00214
00215 #include "uichooser_widget.moc"
This file is part of the documentation for KDevelop Version 3.1.2.