Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3)  * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) #include <QCheckBox>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) #include <QDialog>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) #include <QHeaderView>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) #include <QLineEdit>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) #include <QMainWindow>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) #include <QPushButton>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) #include <QSettings>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) #include <QSplitter>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) #include <QStyledItemDelegate>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) #include <QTextBrowser>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) #include <QTreeWidget>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) #include "expr.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) class ConfigList;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) class ConfigItem;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) class ConfigMainWindow;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) class ConfigSettings : public QSettings {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) public:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 	ConfigSettings();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 	QList<int> readSizes(const QString& key, bool *ok);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 	bool writeSizes(const QString& key, const QList<int>& value);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) enum colIdx {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 	promptColIdx, nameColIdx, dataColIdx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) enum listMode {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 	singleMode, menuMode, symbolMode, fullMode, listMode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) enum optionMode {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 	normalOpt = 0, allOpt, promptOpt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) class ConfigList : public QTreeWidget {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 	Q_OBJECT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 	typedef class QTreeWidget Parent;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) public:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	ConfigList(QWidget *parent, const char *name = 0);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 	~ConfigList();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 	void reinit(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	ConfigItem* findConfigItem(struct menu *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 	void setSelected(QTreeWidgetItem *item, bool enable) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 		for (int i = 0; i < selectedItems().size(); i++)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 			selectedItems().at(i)->setSelected(false);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 		item->setSelected(enable);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) protected:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	void keyPressEvent(QKeyEvent *e);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	void mousePressEvent(QMouseEvent *e);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	void mouseReleaseEvent(QMouseEvent *e);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 	void mouseMoveEvent(QMouseEvent *e);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 	void mouseDoubleClickEvent(QMouseEvent *e);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 	void focusInEvent(QFocusEvent *e);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 	void contextMenuEvent(QContextMenuEvent *e);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) public slots:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	void setRootMenu(struct menu *menu);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	void updateList();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	void setValue(ConfigItem* item, tristate val);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 	void changeValue(ConfigItem* item);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	void updateSelection(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	void saveSettings(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	void setOptionMode(QAction *action);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	void setShowName(bool on);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) signals:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 	void menuChanged(struct menu *menu);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 	void menuSelected(struct menu *menu);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 	void itemSelected(struct menu *menu);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	void parentSelected(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	void gotFocus(struct menu *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 	void showNameChanged(bool on);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) public:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 	void updateListAll(void)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 		updateAll = true;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 		updateList();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 		updateAll = false;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 	void setAllOpen(bool open);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 	void setParentMenu(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	bool menuSkip(struct menu *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 	void updateMenuList(ConfigItem *parent, struct menu*);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 	void updateMenuList(struct menu *menu);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	bool updateAll;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 	bool showName;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 	enum listMode mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 	enum optionMode optMode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	struct menu *rootEntry;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 	QPalette disabledColorGroup;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 	QPalette inactivedColorGroup;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 	QMenu* headerPopup;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 	static QList<ConfigList *> allLists;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 	static void updateListForAll();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 	static void updateListAllForAll();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 	static QAction *showNormalAction, *showAllAction, *showPromptAction;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) class ConfigItem : public QTreeWidgetItem {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 	typedef class QTreeWidgetItem Parent;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) public:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 	ConfigItem(ConfigList *parent, ConfigItem *after, struct menu *m, bool v)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 	: Parent(parent, after), nextItem(0), menu(m), visible(v), goParent(false)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 		init();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 	ConfigItem(ConfigItem *parent, ConfigItem *after, struct menu *m, bool v)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 	: Parent(parent, after), nextItem(0), menu(m), visible(v), goParent(false)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 		init();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 	ConfigItem(ConfigList *parent, ConfigItem *after, bool v)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 	: Parent(parent, after), nextItem(0), menu(0), visible(v), goParent(true)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 		init();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 	~ConfigItem(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 	void init(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 	void updateMenu(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 	void testUpdateMenu(bool v);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 	ConfigList* listView() const
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 		return (ConfigList*)Parent::treeWidget();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 	ConfigItem* firstChild() const
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 		return (ConfigItem *)Parent::child(0);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 	ConfigItem* nextSibling()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) 		ConfigItem *ret = NULL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 		ConfigItem *_parent = (ConfigItem *)parent();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 		if(_parent) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 			ret = (ConfigItem *)_parent->child(_parent->indexOfChild(this)+1);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 		} else {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 			QTreeWidget *_treeWidget = treeWidget();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 			ret = (ConfigItem *)_treeWidget->topLevelItem(_treeWidget->indexOfTopLevelItem(this)+1);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 		}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 		return ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 	// TODO: Implement paintCell
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 	ConfigItem* nextItem;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 	struct menu *menu;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 	bool visible;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 	bool goParent;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 	static QIcon symbolYesIcon, symbolModIcon, symbolNoIcon;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 	static QIcon choiceYesIcon, choiceNoIcon;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 	static QIcon menuIcon, menubackIcon;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) class ConfigItemDelegate : public QStyledItemDelegate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) private:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 	struct menu *menu;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) public:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 	ConfigItemDelegate(QObject *parent = nullptr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) 		: QStyledItemDelegate(parent) {}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 	QWidget *createEditor(QWidget *parent,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) 			      const QStyleOptionViewItem &option,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 			      const QModelIndex &index) const override;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) 	void setModelData(QWidget *editor, QAbstractItemModel *model,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 			  const QModelIndex &index) const override;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) class ConfigInfoView : public QTextBrowser {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 	Q_OBJECT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) 	typedef class QTextBrowser Parent;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) 	QMenu *contextMenu;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) public:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 	ConfigInfoView(QWidget* parent, const char *name = 0);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) 	bool showDebug(void) const { return _showDebug; }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) public slots:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) 	void setInfo(struct menu *menu);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) 	void saveSettings(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) 	void setShowDebug(bool);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 	void clicked (const QUrl &url);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) signals:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) 	void showDebugChanged(bool);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) 	void menuSelected(struct menu *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) protected:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 	void symbolInfo(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) 	void menuInfo(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) 	QString debug_info(struct symbol *sym);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 	static QString print_filter(const QString &str);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) 	static void expr_print_help(void *data, struct symbol *sym, const char *str);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 	void contextMenuEvent(QContextMenuEvent *event);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) 	struct symbol *sym;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) 	struct menu *_menu;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) 	bool _showDebug;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) class ConfigSearchWindow : public QDialog {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) 	Q_OBJECT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 	typedef class QDialog Parent;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) public:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 	ConfigSearchWindow(ConfigMainWindow *parent);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) public slots:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) 	void saveSettings(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) 	void search(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) protected:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) 	QLineEdit* editField;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) 	QPushButton* searchButton;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) 	QSplitter* split;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) 	ConfigList *list;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) 	ConfigInfoView* info;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) 	struct symbol **result;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) class ConfigMainWindow : public QMainWindow {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) 	Q_OBJECT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) 	char *configname;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) 	static QAction *saveAction;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) 	static void conf_changed(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) public:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) 	ConfigMainWindow(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) public slots:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) 	void changeMenu(struct menu *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) 	void changeItens(struct menu *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) 	void setMenuLink(struct menu *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) 	void listFocusChanged(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) 	void goBack(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) 	void loadConfig(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) 	bool saveConfig(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) 	void saveConfigAs(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) 	void searchConfig(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) 	void showSingleView(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) 	void showSplitView(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) 	void showFullView(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) 	void showIntro(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) 	void showAbout(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) 	void saveSettings(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) protected:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) 	void closeEvent(QCloseEvent *e);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) 	ConfigSearchWindow *searchWindow;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) 	ConfigList *menuList;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) 	ConfigList *configList;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) 	ConfigInfoView *helpText;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) 	QAction *backAction;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) 	QAction *singleViewAction;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) 	QAction *splitViewAction;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) 	QAction *fullViewAction;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) 	QSplitter *split1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) 	QSplitter *split2;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) };