File indexing completed on 2024-04-28 16:26:17
0001 /*********************************************************************************** 0002 Copyright (C) 2011-2012 by Holger Danielsson (holger.danielsson@versanet.de) 0003 ***********************************************************************************/ 0004 0005 /*************************************************************************** 0006 * * 0007 * This program is free software; you can redistribute it and/or modify * 0008 * it under the terms of the GNU General Public License as published by * 0009 * the Free Software Foundation; either version 2 of the License, or * 0010 * (at your option) any later version. * 0011 * * 0012 ***************************************************************************/ 0013 0014 #ifndef USERMENUDIALOG_H 0015 #define USERMENUDIALOG_H 0016 0017 #include <QKeySequence> 0018 #include <QCheckBox> 0019 0020 #include "kilewizard.h" 0021 #include "kileinfo.h" 0022 0023 #include "dialogs/usermenu/usermenuitem.h" 0024 0025 #include "ui_usermenudialog_base.h" 0026 0027 0028 namespace KileMenu { 0029 0030 class UserMenu; 0031 0032 class UserMenuDialog : public KileDialog::Wizard 0033 { 0034 Q_OBJECT 0035 0036 public: 0037 UserMenuDialog(KConfig *config, KileInfo *ki, KileMenu::UserMenu *userMenu, const QString &xmlfile, QWidget *parent); 0038 ~UserMenuDialog() {} 0039 0040 private Q_SLOTS: 0041 void slotCurrentItemChanged(QTreeWidgetItem *current,QTreeWidgetItem *previous); 0042 void slotInsertMenuItem(); 0043 void slotInsertSubmenu(); 0044 void slotInsertSeparator(); 0045 void slotDelete(); 0046 void slotUp(); 0047 void slotDown(); 0048 0049 void slotMenuentryTypeClicked(); 0050 void slotMenuentryTextChanged(const QString &text); 0051 void slotUrlTextChanged(const QString &text); 0052 void slotIconClicked(); 0053 void slotIconDeleteClicked(); 0054 void slotKeySequenceChanged(const QKeySequence &seq); 0055 0056 void slotSelectionStateChanged(int state); 0057 void slotCheckboxStateChanged(int); 0058 0059 void slotNewClicked(); 0060 void slotInstallClicked(); 0061 void slotLoadClicked(); 0062 void slotSaveClicked(); 0063 void slotSaveAsClicked(); 0064 void slotShowHelp(); 0065 0066 void slotCustomContextMenuRequested(const QPoint &pos); 0067 0068 private: 0069 Ui::UserMenuDialog m_UserMenuDialog; 0070 UserMenuTree *m_menutree; 0071 0072 KileInfo *m_ki; 0073 KileMenu::UserMenu *m_userMenu; 0074 0075 bool m_modified; 0076 bool m_currentXmlInstalled; 0077 QString m_currentXmlFile; 0078 void setXmlFile(const QString &filename, bool installed); 0079 0080 QString m_currentIcon; 0081 QStringList m_listMenutypes; 0082 0083 void startDialog(); 0084 void initDialog(); 0085 void setModified(); 0086 0087 bool saveClicked(); 0088 QString saveAsClicked(); 0089 0090 void readMenuentryData(UserMenuItem *tem); 0091 void showMenuentryData(UserMenuItem *item); 0092 void clearMenuEntryData(); 0093 void disableMenuEntryData(); 0094 0095 void setTextEntry(UserMenuItem *item); 0096 void setFileContentEntry(UserMenuItem *item); 0097 void setProgramEntry(UserMenuItem *item); 0098 void setSeparatorEntry(UserMenuItem *item); 0099 void setSubmenuEntry(UserMenuItem *item); 0100 0101 void setMenuentryText(UserMenuItem *item, bool state); 0102 void setMenuentryType(UserMenuItem *item, bool state1, bool state2); 0103 void setMenuentryFileChooser(UserMenuItem *item, bool state); 0104 void setMenuentryFileParameter(UserMenuItem *item, bool state); 0105 void setMenuentryTextEdit(UserMenuItem *item, bool state); 0106 void setMenuentryIcon(UserMenuItem *item, bool state, const QString &icon = QString()); 0107 void setMenuentryShortcut(UserMenuItem *item, bool state); 0108 0109 void setParameterGroupbox(bool state); 0110 void setMenuentryCheckboxes(UserMenuItem *item, bool useInsertOutput); 0111 0112 void setMenuentryIcon(const QString &icon); 0113 void updateTreeButtons(); 0114 void updateDialogButtons(); 0115 void updateAfterDelete(); 0116 0117 void loadXmlFile(const QString &filename, bool installed); 0118 bool saveCheck(); 0119 }; 0120 0121 } 0122 0123 #endif