feat: v0.2.0 —— 文件夹侧栏、源代码模式、按时段主题与格式快捷键
主题 - 新增「按时段自动」模式:6:00–18:00 浅色,其余时间深色 - 主题菜单改为四种模式,默认仍为跟随系统 侧栏 - 左侧文件夹侧栏(Ctrl+B 开关),递归扫描 *.md / *.markdown / *.mdown / *.mkd - 文件 → 打开文件夹…(Ctrl+Shift+O),记住上次打开的目录 - 点击文件名即打开,当前文件在列表中高亮,支持手动刷新 编辑 - 左下角 <src> 按钮 / Ctrl+Shift+M 切换源代码模式(关高亮、行号、当前行) - Ctrl+1~6 设置标题级别,再按一次取消 - Ctrl+/ 把选中内容包成围栏代码块,再按一次拆掉(含光标在块内的情况) 其他 - 模板回归脚本验证了标题与代码块的文本变换 - README 与截图更新
This commit is contained in:
@@ -5,9 +5,13 @@
|
||||
|
||||
class QAction;
|
||||
class QActionGroup;
|
||||
class QDockWidget;
|
||||
class QLabel;
|
||||
class QListWidget;
|
||||
class QListWidgetItem;
|
||||
class QMenu;
|
||||
class QTextDocument;
|
||||
class QToolButton;
|
||||
class MarkdownEditor;
|
||||
|
||||
class MainWindow : public QMainWindow
|
||||
@@ -26,6 +30,7 @@ private:
|
||||
enum class Eol { Lf, Crlf };
|
||||
|
||||
void createActions();
|
||||
void createSidebar();
|
||||
void createMenus();
|
||||
void createStatusBar();
|
||||
void loadSettings();
|
||||
@@ -44,6 +49,13 @@ private:
|
||||
void refreshRecentMenu();
|
||||
void loadRecentFiles();
|
||||
|
||||
void chooseFolder();
|
||||
void openFolder(const QString &path);
|
||||
void refreshFolder();
|
||||
void openSidebarItem(QListWidgetItem *item);
|
||||
void selectInSidebar(const QString &path);
|
||||
void setSourceModeEnabled(bool enabled);
|
||||
|
||||
void changeZoom(int direction);
|
||||
void resetZoom();
|
||||
void setWordWrapEnabled(bool enabled);
|
||||
@@ -60,6 +72,12 @@ private:
|
||||
MarkdownEditor *m_editor = nullptr;
|
||||
QLabel *m_statusLabel = nullptr;
|
||||
|
||||
QDockWidget *m_sidebar = nullptr;
|
||||
QListWidget *m_fileList = nullptr;
|
||||
QLabel *m_folderLabel = nullptr;
|
||||
QToolButton *m_sourceButton = nullptr;
|
||||
QString m_folderPath;
|
||||
|
||||
QString m_currentPath;
|
||||
Eol m_eol = Eol::Lf;
|
||||
bool m_hasBom = false;
|
||||
@@ -87,6 +105,13 @@ private:
|
||||
QAction *m_themeSystemAction = nullptr;
|
||||
QAction *m_themeLightAction = nullptr;
|
||||
QAction *m_themeDarkAction = nullptr;
|
||||
QAction *m_themeScheduleAction = nullptr;
|
||||
|
||||
QAction *m_openFolderAction = nullptr;
|
||||
QAction *m_sidebarAction = nullptr;
|
||||
QAction *m_sourceModeAction = nullptr;
|
||||
QAction *m_codeBlockAction = nullptr;
|
||||
QAction *m_headingActions[6] = {nullptr, nullptr, nullptr, nullptr, nullptr, nullptr};
|
||||
|
||||
QMenu *m_recentMenu = nullptr;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user