mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 13:59:52 +08:00
bug-fix: do not change mode when clicking an item in VFileList to open an already opened note
This commit is contained in:
parent
b3c8213e1a
commit
94c5934f2d
@ -119,9 +119,7 @@ void VEditArea::removeSplitWindow(VEditWindow *win)
|
||||
win->deleteLater();
|
||||
}
|
||||
|
||||
// A given file can be opened in multiple split windows. A given file could be
|
||||
// opened at most in one tab inside a window.
|
||||
void VEditArea::openFile(VFile *p_file, OpenFileMode p_mode)
|
||||
void VEditArea::openFile(VFile *p_file, OpenFileMode p_mode, bool p_forceMode)
|
||||
{
|
||||
if (!p_file) {
|
||||
return;
|
||||
@ -169,7 +167,7 @@ void VEditArea::openFile(VFile *p_file, OpenFileMode p_mode)
|
||||
out:
|
||||
setCurrentTab(winIdx, tabIdx, setFocus);
|
||||
|
||||
if (existFile) {
|
||||
if (existFile && p_forceMode) {
|
||||
if (p_mode == OpenFileMode::Read) {
|
||||
readFile();
|
||||
} else if (p_mode == OpenFileMode::Edit) {
|
||||
|
@ -79,7 +79,13 @@ protected:
|
||||
void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
|
||||
|
||||
public slots:
|
||||
void openFile(VFile *p_file, OpenFileMode p_mode);
|
||||
// Open @p_file in mode @p_mode.
|
||||
// If @p_file has already been opened, change its mode to @p_mode only if
|
||||
// @p_forceMode is true.
|
||||
// A given file can be opened in multiple split windows. A given file could be
|
||||
// opened at most in one tab inside a window.
|
||||
void openFile(VFile *p_file, OpenFileMode p_mode, bool p_forceMode = false);
|
||||
|
||||
void editFile();
|
||||
void saveFile();
|
||||
void readFile();
|
||||
|
@ -103,7 +103,7 @@ void VFileList::initActions()
|
||||
this, [this]() {
|
||||
QListWidgetItem *item = fileList->currentItem();
|
||||
if (item) {
|
||||
emit fileClicked(getVFile(item), OpenFileMode::Read);
|
||||
emit fileClicked(getVFile(item), OpenFileMode::Read, true);
|
||||
}
|
||||
});
|
||||
|
||||
@ -114,7 +114,7 @@ void VFileList::initActions()
|
||||
this, [this]() {
|
||||
QListWidgetItem *item = fileList->currentItem();
|
||||
if (item) {
|
||||
emit fileClicked(getVFile(item), OpenFileMode::Edit);
|
||||
emit fileClicked(getVFile(item), OpenFileMode::Edit, true);
|
||||
}
|
||||
});
|
||||
|
||||
@ -368,7 +368,7 @@ void VFileList::newFile()
|
||||
fileList->update();
|
||||
|
||||
// Open it in edit mode
|
||||
emit fileCreated(file, OpenFileMode::Edit);
|
||||
emit fileCreated(file, OpenFileMode::Edit, true);
|
||||
|
||||
// Move cursor down if content has been inserted.
|
||||
if (contentInserted) {
|
||||
|
@ -60,8 +60,14 @@ public slots:
|
||||
void newFile();
|
||||
|
||||
signals:
|
||||
void fileClicked(VNoteFile *p_file, OpenFileMode mode = OpenFileMode::Read);
|
||||
void fileCreated(VNoteFile *p_file, OpenFileMode mode = OpenFileMode::Read);
|
||||
void fileClicked(VNoteFile *p_file,
|
||||
OpenFileMode p_mode = OpenFileMode::Read,
|
||||
bool p_forceMode = false);
|
||||
|
||||
void fileCreated(VNoteFile *p_file,
|
||||
OpenFileMode p_mode = OpenFileMode::Read,
|
||||
bool p_forceMode = false);
|
||||
|
||||
void fileUpdated(const VNoteFile *p_file);
|
||||
|
||||
private slots:
|
||||
|
Loading…
x
Reference in New Issue
Block a user