X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/09c69ff81161fcf726fefa549a26f426d7d799f3..cdcb4b0166aefdd382d20e7ff3b5cb217ba54ba8:/src/generalsettingspage.cpp diff --git a/src/generalsettingspage.cpp b/src/generalsettingspage.cpp index d7b72aa6a..66426b5c6 100644 --- a/src/generalsettingspage.cpp +++ b/src/generalsettingspage.cpp @@ -15,102 +15,90 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * ***************************************************************************/ #include "generalsettingspage.h" -#include -//Added by qt3to4: -#include #include -#include -#include - -#include -#include -#include -#include -#include -#include #include -#include +#include #include +#include +#include +#include +#include +#include +#include + #include "dolphinsettings.h" -#include "dolphin.h" +#include "dolphinmainwindow.h" #include "dolphinview.h" -#include "generalsettings.h" -GeneralSettingsPage::GeneralSettingsPage(QWidget* parent) : +#include "dolphin_generalsettings.h" + +GeneralSettingsPage::GeneralSettingsPage(DolphinMainWindow* mainWin, QWidget* parent) : SettingsPageBase(parent), + m_mainWindow(mainWin), m_homeUrl(0), m_startSplit(0), - m_startEditable(0) + m_startEditable(0), + m_showDeleteCommand(0) { - Q3VBoxLayout* topLayout = new Q3VBoxLayout(this, 2, KDialog::spacingHint()); - const int spacing = KDialog::spacingHint(); - const int margin = KDialog::marginHint(); - const QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); - GeneralSettings* settings = DolphinSettings::instance().generalSettings(); + QVBoxLayout* topLayout = new QVBoxLayout(this); KVBox* vBox = new KVBox(this); - vBox->setSizePolicy(sizePolicy); vBox->setSpacing(spacing); - vBox->setMargin(margin); - vBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Ignored); - // create 'Home Url' editor - Q3GroupBox* homeGroup = new Q3GroupBox(1, Qt::Horizontal, i18n("Home Url"), vBox); - homeGroup->setSizePolicy(sizePolicy); - homeGroup->setMargin(margin); + // create 'Home URL' editor + QGroupBox* homeBox = new QGroupBox(i18n("Home Folder"), vBox); - KHBox* homeUrlBox = new KHBox(homeGroup); - homeUrlBox->setSizePolicy(sizePolicy); + KHBox* homeUrlBox = new KHBox(homeBox); homeUrlBox->setSpacing(spacing); new QLabel(i18n("Location:"), homeUrlBox); m_homeUrl = new QLineEdit(settings->homeUrl(), homeUrlBox); - QPushButton* selectHomeUrlButton = new QPushButton(SmallIcon("folder"), QString::null, homeUrlBox); + QPushButton* selectHomeUrlButton = new QPushButton(KIcon("folder"), QString(), homeUrlBox); connect(selectHomeUrlButton, SIGNAL(clicked()), this, SLOT(selectHomeUrl())); - KHBox* buttonBox = new KHBox(homeGroup); - buttonBox->setSizePolicy(sizePolicy); + KHBox* buttonBox = new KHBox(homeBox); buttonBox->setSpacing(spacing); - QPushButton* useCurrentButton = new QPushButton(i18n("Use current location"), buttonBox); + + QPushButton* useCurrentButton = new QPushButton(i18n("Use Current Location"), buttonBox); connect(useCurrentButton, SIGNAL(clicked()), this, SLOT(useCurrentLocation())); - QPushButton* useDefaultButton = new QPushButton(i18n("Use default location"), buttonBox); + QPushButton* useDefaultButton = new QPushButton(i18n("Use Default Location"), buttonBox); connect(useDefaultButton, SIGNAL(clicked()), - this, SLOT(useDefaulLocation())); - - // create 'Default View Mode' group - Q3ButtonGroup* buttonGroup = new Q3ButtonGroup(3, Qt::Vertical, i18n("Default View Mode"), vBox); - buttonGroup->setSizePolicy(sizePolicy); - buttonGroup->setMargin(margin); + this, SLOT(useDefaultLocation())); - m_iconsView = new QRadioButton(i18n("Icons"), buttonGroup); - m_detailsView = new QRadioButton(i18n("Details"), buttonGroup); - m_previewsView = new QRadioButton(i18n("Previews"), buttonGroup); + QVBoxLayout* homeBoxLayout = new QVBoxLayout(homeBox); + homeBoxLayout->addWidget(homeUrlBox); + homeBoxLayout->addWidget(buttonBox); - switch (settings->defaultViewMode()) { - case DolphinView::IconsView: m_iconsView->setChecked(true); break; - case DolphinView::DetailsView: m_detailsView->setChecked(true); break; - case DolphinView::PreviewsView: m_previewsView->setChecked(true); break; - } + QGroupBox* startBox = new QGroupBox(i18n("Start"), vBox); // create 'Start with split view' checkbox - m_startSplit = new QCheckBox(i18n("Start with split view"), vBox); + m_startSplit = new QCheckBox(i18n("Start with split view"), startBox); m_startSplit->setChecked(settings->splitView()); // create 'Start with editable navigation bar' checkbox - m_startEditable = new QCheckBox(i18n("Start with editable navigation bar"), vBox); + m_startEditable = new QCheckBox(i18n("Start with editable navigation bar"), startBox); m_startEditable->setChecked(settings->editableUrl()); + QVBoxLayout* startBoxLayout = new QVBoxLayout(startBox); + startBoxLayout->addWidget(m_startSplit); + startBoxLayout->addWidget(m_startEditable); + + m_showDeleteCommand = new QCheckBox(i18n("Show the command 'Delete' in context menu"), vBox); + const KSharedConfig::Ptr globalConfig = KSharedConfig::openConfig("kdeglobals", KConfig::NoGlobals); + const KConfigGroup kdeConfig(globalConfig, "KDE"); + m_showDeleteCommand->setChecked(kdeConfig.readEntry("ShowDeleteCommand", false)); + // Add a dummy widget with no restriction regarding // a vertical resizing. This assures that the dialog layout // is not stretched vertically. @@ -121,8 +109,7 @@ GeneralSettingsPage::GeneralSettingsPage(QWidget* parent) : GeneralSettingsPage::~GeneralSettingsPage() -{ -} +{} void GeneralSettingsPage::applySettings() { @@ -134,23 +121,19 @@ void GeneralSettingsPage::applySettings() settings->setHomeUrl(url.prettyUrl()); } - DolphinView::Mode viewMode = DolphinView::IconsView; - if (m_detailsView->isChecked()) { - viewMode = DolphinView::DetailsView; - } - else if (m_previewsView->isChecked()) { - viewMode = DolphinView::PreviewsView; - } - settings->setDefaultViewMode(viewMode); - settings->setSplitView(m_startSplit->isChecked()); settings->setEditableUrl(m_startEditable->isChecked()); + + KSharedConfig::Ptr globalConfig = KSharedConfig::openConfig("kdeglobals", KConfig::NoGlobals); + KConfigGroup kdeConfig(globalConfig, "KDE"); + kdeConfig.writeEntry("ShowDeleteCommand", m_showDeleteCommand->isChecked()); + kdeConfig.sync(); } void GeneralSettingsPage::selectHomeUrl() { const QString homeUrl(m_homeUrl->text()); - KUrl url(KFileDialog::getExistingUrl(homeUrl)); + KUrl url(KFileDialog::getExistingDirectoryUrl(homeUrl)); if (!url.isEmpty()) { m_homeUrl->setText(url.prettyUrl()); } @@ -158,11 +141,11 @@ void GeneralSettingsPage::selectHomeUrl() void GeneralSettingsPage::useCurrentLocation() { - const DolphinView* view = Dolphin::mainWin().activeView(); + const DolphinView* view = m_mainWindow->activeView(); m_homeUrl->setText(view->url().prettyUrl()); } -void GeneralSettingsPage::useDefaulLocation() +void GeneralSettingsPage::useDefaultLocation() { m_homeUrl->setText("file://" + QDir::homePath()); }