KDEUI
kshortcutsdialog.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
00019
00020
00021
00022
00023
00024
00025
00026 #include "kshortcutsdialog.h"
00027
00028 #include "kdebug.h"
00029 #include "klocale.h"
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044 class KShortcutsDialog::KShortcutsDialogPrivate
00045 {
00046 public:
00047
00048 KShortcutsDialogPrivate(KShortcutsDialog *q): q(q), m_keyChooser(0)
00049 {}
00050
00051 KShortcutsDialog *q;
00052 KShortcutsEditor* m_keyChooser;
00053 };
00054
00055
00056 KShortcutsDialog::KShortcutsDialog( KShortcutsEditor::ActionTypes types, KShortcutsEditor::LetterShortcuts allowLetterShortcuts, QWidget *parent )
00057 : KDialog( parent ), d(new KShortcutsDialogPrivate(this))
00058 {
00059 setCaption(i18n("Configure Shortcuts"));
00060 setButtons(Default|Ok|Cancel|KDialog::User1);
00061 setButtonText(KDialog::User1, i18n("Print"));
00062 setButtonIcon(KDialog::User1, KIcon("document-print"));
00063 setModal(true);
00064 d->m_keyChooser = new KShortcutsEditor( this, types, allowLetterShortcuts );
00065 setMainWidget( d->m_keyChooser );
00066 connect( this, SIGNAL(defaultClicked()), d->m_keyChooser, SLOT(allDefault()) );
00067 connect( this, SIGNAL(user1Clicked()), d->m_keyChooser, SLOT(printShortcuts()) );
00068
00069 KConfigGroup group( KGlobal::config(), "KShortcutsDialog Settings" );
00070 resize( group.readEntry( "Dialog Size", sizeHint() ) );
00071 }
00072
00073
00074 KShortcutsDialog::~KShortcutsDialog()
00075 {
00076 KConfigGroup group( KGlobal::config(), "KShortcutsDialog Settings" );
00077 group.writeEntry( "Dialog Size", size(), KConfigGroup::Global );
00078 delete d;
00079 }
00080
00081
00082 void KShortcutsDialog::addCollection(KActionCollection *collection, const QString &title)
00083 {
00084 d->m_keyChooser->addCollection(collection, title);
00085 }
00086
00087
00088 bool KShortcutsDialog::configure(bool saveSettings)
00089 {
00090 int retcode = exec();
00091 if (retcode != Accepted)
00092 d->m_keyChooser->undoChanges();
00093 else if (saveSettings)
00094 d->m_keyChooser->save();
00095
00096 return retcode;
00097 }
00098
00099 QSize KShortcutsDialog::sizeHint() const
00100 {
00101 return QSize(500, 400);
00102 }
00103
00104 int KShortcutsDialog::configure(KActionCollection *collection, KShortcutsEditor::LetterShortcuts allowLetterShortcuts,
00105 QWidget *parent, bool saveSettings)
00106 {
00107 kDebug(125) << "KShortcutsDialog::configureKeys( KActionCollection*, " << saveSettings << " )";
00108 KShortcutsDialog dlg(KShortcutsEditor::AllActions, allowLetterShortcuts, parent);
00109 dlg.d->m_keyChooser->addCollection(collection);
00110 return dlg.configure(saveSettings);
00111 }
00112
00113 #include "kshortcutsdialog.moc"
00114 #include "kshortcutsdialog_p.moc"