/
LostDead
/
TestProgramm
Обзор
Документация
Войти
/
LostDead
/
TestProgramm
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
mainwindow.h
151 строка
4 KB
Maksi
first_commit
27 янв 2026, 05:31
27 янв 2026, 05:31
d072a23
Код
Авторство
О чём код?
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QListWidget> #include <QPushButton> #include <QVBoxLayout> #include <QHBoxLayout> #include <QLabel> #include <QFileDialog> #include <QProcess> #include <QMessageBox> #include <QTextEdit> #include <QGroupBox> #include <QTabWidget> #include <QPlainTextEdit> #include <QLineEdit> #include <QKeyEvent> #include <QTextCursor> #include <QRegularExpression> #include <QTextCodec> #include <QToolBar> #include <QStatusBar> #include <QToolButton> #include <QFrame> #include <QProgressBar> #include <QSplitter> #include <QFontDatabase> #include <QScrollBar> #include <QShortcut> #include <QStyle> #include <QSettings> #include <QMenu> #include <QInputDialog> #include <QTimer> #include <QDesktopServices> #include <QUrl> #include <QAction> #include <QFont> class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void selectFolder(); void runSelectedScript(); void runDoubleClickedScript(QListWidgetItem *item); void scriptFinished(int exitCode, QProcess::ExitStatus exitStatus); void readScriptOutput(); void readScriptError(); void updateScriptList(); void executeCommand(); void onConsoleTextChanged(); void updatePowerShellStatus(); void clearConsole(); void stopScript(); void openScriptLocation(); void editScript(); void createNewScript(); void showAbout(); void showScriptContextMenu(const QPoint &pos); void deleteScript(QListWidgetItem *item); void filterScripts(); private: void setupUI(); void setupConnections(); void executeScript(const QString &scriptPath); void startPowerShell(); void writeToPowerShell(const QString &command); void setupToolBar(); void setupStatusBar(); void applyModernStyle(); QString formatFileSize(qint64 bytes); void updateScriptInfo(); void saveSettings(); void loadSettings(); void keyPressEvent(QKeyEvent *event) override; QString currentFolderPath; QString currentWorkingDirectory; // UI элементы для вкладки скриптов QWidget *scriptsTab; QVBoxLayout *scriptsLayout; QSplitter *mainSplitter; // Левая панель QWidget *leftPanel; QVBoxLayout *leftLayout; QGroupBox *folderGroup; QVBoxLayout *folderLayout; QLabel *folderPathLabel; QPushButton *browseButton; QPushButton *openLocationButton; QGroupBox *fileInfoGroup; QVBoxLayout *fileInfoLayout; QLabel *fileNameLabel; QLabel *fileSizeLabel; QLabel *fileModifiedLabel; QPushButton *editButton; // Правая панель QWidget *rightPanel; QVBoxLayout *rightLayout; QGroupBox *scriptsGroup; QVBoxLayout *scriptsGroupLayout; QListWidget *scriptsList; QLineEdit *searchEdit; QPushButton *searchButton; QPushButton *refreshButton; QPushButton *runButton; QPushButton *stopButton; QPushButton *newScriptButton; // Вкладка консоли QWidget *consoleTab; QVBoxLayout *consoleLayout; QPlainTextEdit *consoleOutput; QLineEdit *consoleInput; // Статусная информация QLabel *consoleStatus; QLabel *powerShellStatus; QProgressBar *progressBar; // Общие элементы QTabWidget *tabWidget; QProcess *process; QStringList commandHistory; int historyIndex; // Панели инструментов QToolBar *mainToolBar; QAction *folderAction; QAction *runAction; QAction *stopAction; QAction *clearAction; QAction *refreshAction; QAction *aboutAction; QSettings *settings; }; #endif // MAINWINDOW_H