����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
*/
#include <QCheckBox>
#include <QDialog>
#include <QHeaderView>
#include <QLineEdit>
#include <QMainWindow>
#include <QPushButton>
#include <QSettings>
#include <QSplitter>
#include <QStyledItemDelegate>
#include <QTextBrowser>
#include <QTreeWidget>
#include "expr.h"
class ConfigList;
class ConfigItem;
class ConfigMainWindow;
class ConfigSettings : public QSettings {
public:
ConfigSettings();
QList<int> readSizes(const QString& key, bool *ok);
bool writeSizes(const QString& key, const QList<int>& value);
};
enum colIdx {
promptColIdx, nameColIdx, dataColIdx
};
enum listMode {
singleMode, menuMode, symbolMode, fullMode, listMode
};
enum optionMode {
normalOpt = 0, allOpt, promptOpt
};
class ConfigList : public QTreeWidget {
Q_OBJECT
typedef class QTreeWidget Parent;
public:
ConfigList(QWidget *parent, const char *name = 0);
~ConfigList();
void reinit(void);
ConfigItem* findConfigItem(struct menu *);
void setSelected(QTreeWidgetItem *item, bool enable) {
for (int i = 0; i < selectedItems().size(); i++)
selectedItems().at(i)->setSelected(false);
item->setSelected(enable);
}
protected:
void keyPressEvent(QKeyEvent *e);
void mousePressEvent(QMouseEvent *e);
void mouseReleaseEvent(QMouseEvent *e);
void mouseMoveEvent(QMouseEvent *e);
void mouseDoubleClickEvent(QMouseEvent *e);
void focusInEvent(QFocusEvent *e);
void contextMenuEvent(QContextMenuEvent *e);
public slots:
void setRootMenu(struct menu *menu);
void updateList();
void setValue(ConfigItem* item, tristate val);
void changeValue(ConfigItem* item);
void updateSelection(void);
void saveSettings(void);
void setOptionMode(QAction *action);
void setShowName(bool on);
signals:
void menuChanged(struct menu *menu);
void menuSelected(struct menu *menu);
void itemSelected(struct menu *menu);
void parentSelected(void);
void gotFocus(struct menu *);
void showNameChanged(bool on);
public:
void updateListAll(void)
{
updateAll = true;
updateList();
updateAll = false;
}
void setAllOpen(bool open);
void setParentMenu(void);
bool menuSkip(struct menu *);
void updateMenuList(ConfigItem *parent, struct menu*);
void updateMenuList(struct menu *menu);
bool updateAll;
bool showName;
enum listMode mode;
enum optionMode optMode;
struct menu *rootEntry;
QPalette disabledColorGroup;
QPalette inactivedColorGroup;
QMenu* headerPopup;
static QList<ConfigList *> allLists;
static void updateListForAll();
static void updateListAllForAll();
static QAction *showNormalAction, *showAllAction, *showPromptAction;
};
class ConfigItem : public QTreeWidgetItem {
typedef class QTreeWidgetItem Parent;
public:
ConfigItem(ConfigList *parent, ConfigItem *after, struct menu *m, bool v)
: Parent(parent, after), nextItem(0), menu(m), visible(v), goParent(false)
{
init();
}
ConfigItem(ConfigItem *parent, ConfigItem *after, struct menu *m, bool v)
: Parent(parent, after), nextItem(0), menu(m), visible(v), goParent(false)
{
init();
}
ConfigItem(ConfigList *parent, ConfigItem *after, bool v)
: Parent(parent, after), nextItem(0), menu(0), visible(v), goParent(true)
{
init();
}
~ConfigItem(void);
void init(void);
void updateMenu(void);
void testUpdateMenu(bool v);
ConfigList* listView() const
{
return (ConfigList*)Parent::treeWidget();
}
ConfigItem* firstChild() const
{
return (ConfigItem *)Parent::child(0);
}
ConfigItem* nextSibling()
{
ConfigItem *ret = NULL;
ConfigItem *_parent = (ConfigItem *)parent();
if(_parent) {
ret = (ConfigItem *)_parent->child(_parent->indexOfChild(this)+1);
} else {
QTreeWidget *_treeWidget = treeWidget();
ret = (ConfigItem *)_treeWidget->topLevelItem(_treeWidget->indexOfTopLevelItem(this)+1);
}
return ret;
}
// TODO: Implement paintCell
ConfigItem* nextItem;
struct menu *menu;
bool visible;
bool goParent;
static QIcon symbolYesIcon, symbolModIcon, symbolNoIcon;
static QIcon choiceYesIcon, choiceNoIcon;
static QIcon menuIcon, menubackIcon;
};
class ConfigItemDelegate : public QStyledItemDelegate
{
private:
struct menu *menu;
public:
ConfigItemDelegate(QObject *parent = nullptr)
: QStyledItemDelegate(parent) {}
QWidget *createEditor(QWidget *parent,
const QStyleOptionViewItem &option,
const QModelIndex &index) const override;
void setModelData(QWidget *editor, QAbstractItemModel *model,
const QModelIndex &index) const override;
};
class ConfigInfoView : public QTextBrowser {
Q_OBJECT
typedef class QTextBrowser Parent;
QMenu *contextMenu;
public:
ConfigInfoView(QWidget* parent, const char *name = 0);
bool showDebug(void) const { return _showDebug; }
public slots:
void setInfo(struct menu *menu);
void saveSettings(void);
void setShowDebug(bool);
void clicked (const QUrl &url);
signals:
void showDebugChanged(bool);
void menuSelected(struct menu *);
protected:
void symbolInfo(void);
void menuInfo(void);
QString debug_info(struct symbol *sym);
static QString print_filter(const QString &str);
static void expr_print_help(void *data, struct symbol *sym, const char *str);
void contextMenuEvent(QContextMenuEvent *event);
struct symbol *sym;
struct menu *_menu;
bool _showDebug;
};
class ConfigSearchWindow : public QDialog {
Q_OBJECT
typedef class QDialog Parent;
public:
ConfigSearchWindow(ConfigMainWindow *parent);
public slots:
void saveSettings(void);
void search(void);
protected:
QLineEdit* editField;
QPushButton* searchButton;
QSplitter* split;
ConfigList *list;
ConfigInfoView* info;
struct symbol **result;
};
class ConfigMainWindow : public QMainWindow {
Q_OBJECT
char *configname;
static QAction *saveAction;
static void conf_changed(void);
public:
ConfigMainWindow(void);
public slots:
void changeMenu(struct menu *);
void changeItens(struct menu *);
void setMenuLink(struct menu *);
void listFocusChanged(void);
void goBack(void);
void loadConfig(void);
bool saveConfig(void);
void saveConfigAs(void);
void searchConfig(void);
void showSingleView(void);
void showSplitView(void);
void showFullView(void);
void showIntro(void);
void showAbout(void);
void saveSettings(void);
protected:
void closeEvent(QCloseEvent *e);
ConfigSearchWindow *searchWindow;
ConfigList *menuList;
ConfigList *configList;
ConfigInfoView *helpText;
QAction *backAction;
QAction *singleViewAction;
QAction *splitViewAction;
QAction *fullViewAction;
QSplitter *split1;
QSplitter *split2;
};
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| lxdialog | Folder | 0755 |
|
|
| tests | Folder | 0755 |
|
|
| Makefile | File | 7.61 KB | 0644 |
|
| conf | File | 126.77 KB | 0755 |
|
| conf.c | File | 20.01 KB | 0644 |
|
| confdata.c | File | 22.81 KB | 0644 |
|
| expr.c | File | 30.03 KB | 0644 |
|
| expr.h | File | 9.47 KB | 0644 |
|
| gconf-cfg.sh | File | 737 B | 0755 |
|
| gconf.c | File | 38 KB | 0644 |
|
| gconf.glade | File | 25.04 KB | 0644 |
|
| images.c | File | 6.42 KB | 0644 |
|
| images.h | File | 857 B | 0644 |
|
| internal.h | File | 172 B | 0644 |
|
| lexer.l | File | 8.99 KB | 0644 |
|
| lexer.lex.c | File | 112.63 KB | 0644 |
|
| list.h | File | 3.66 KB | 0644 |
|
| lkc.h | File | 3.75 KB | 0644 |
|
| lkc_proto.h | File | 1.92 KB | 0644 |
|
| mconf-cfg.sh | File | 1.42 KB | 0755 |
|
| mconf.c | File | 27.21 KB | 0644 |
|
| menu.c | File | 21.67 KB | 0644 |
|
| merge_config.sh | File | 4.65 KB | 0755 |
|
| nconf-cfg.sh | File | 1.32 KB | 0755 |
|
| nconf.c | File | 37.87 KB | 0644 |
|
| nconf.gui.c | File | 14.55 KB | 0644 |
|
| nconf.h | File | 2 KB | 0644 |
|
| parser.tab.c | File | 71.65 KB | 0644 |
|
| parser.tab.h | File | 5 KB | 0644 |
|
| parser.y | File | 15.26 KB | 0644 |
|
| preprocess.c | File | 11.01 KB | 0644 |
|
| qconf-cfg.sh | File | 598 B | 0755 |
|
| qconf.cc | File | 43.43 KB | 0644 |
|
| qconf.h | File | 6.4 KB | 0644 |
|
| streamline_config.pl | File | 16.42 KB | 0755 |
|
| symbol.c | File | 28.62 KB | 0644 |
|
| util.c | File | 1.52 KB | 0644 |
|