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();
|
win->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
// A given file can be opened in multiple split windows. A given file could be
|
void VEditArea::openFile(VFile *p_file, OpenFileMode p_mode, bool p_forceMode)
|
||||||
// opened at most in one tab inside a window.
|
|
||||||
void VEditArea::openFile(VFile *p_file, OpenFileMode p_mode)
|
|
||||||
{
|
{
|
||||||
if (!p_file) {
|
if (!p_file) {
|
||||||
return;
|
return;
|
||||||
@ -169,7 +167,7 @@ void VEditArea::openFile(VFile *p_file, OpenFileMode p_mode)
|
|||||||
out:
|
out:
|
||||||
setCurrentTab(winIdx, tabIdx, setFocus);
|
setCurrentTab(winIdx, tabIdx, setFocus);
|
||||||
|
|
||||||
if (existFile) {
|
if (existFile && p_forceMode) {
|
||||||
if (p_mode == OpenFileMode::Read) {
|
if (p_mode == OpenFileMode::Read) {
|
||||||
readFile();
|
readFile();
|
||||||
} else if (p_mode == OpenFileMode::Edit) {
|
} else if (p_mode == OpenFileMode::Edit) {
|
||||||
|
@ -79,7 +79,13 @@ protected:
|
|||||||
void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
|
void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
public slots:
|
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 editFile();
|
||||||
void saveFile();
|
void saveFile();
|
||||||
void readFile();
|
void readFile();
|
||||||
|
@ -103,7 +103,7 @@ void VFileList::initActions()
|
|||||||
this, [this]() {
|
this, [this]() {
|
||||||
QListWidgetItem *item = fileList->currentItem();
|
QListWidgetItem *item = fileList->currentItem();
|
||||||
if (item) {
|
if (item) {
|
||||||
emit fileClicked(getVFile(item), OpenFileMode::Read);
|
emit fileClicked(getVFile(item), OpenFileMode::Read, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -114,7 +114,7 @@ void VFileList::initActions()
|
|||||||
this, [this]() {
|
this, [this]() {
|
||||||
QListWidgetItem *item = fileList->currentItem();
|
QListWidgetItem *item = fileList->currentItem();
|
||||||
if (item) {
|
if (item) {
|
||||||
emit fileClicked(getVFile(item), OpenFileMode::Edit);
|
emit fileClicked(getVFile(item), OpenFileMode::Edit, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -368,7 +368,7 @@ void VFileList::newFile()
|
|||||||
fileList->update();
|
fileList->update();
|
||||||
|
|
||||||
// Open it in edit mode
|
// Open it in edit mode
|
||||||
emit fileCreated(file, OpenFileMode::Edit);
|
emit fileCreated(file, OpenFileMode::Edit, true);
|
||||||
|
|
||||||
// Move cursor down if content has been inserted.
|
// Move cursor down if content has been inserted.
|
||||||
if (contentInserted) {
|
if (contentInserted) {
|
||||||
|
@ -60,8 +60,14 @@ public slots:
|
|||||||
void newFile();
|
void newFile();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void fileClicked(VNoteFile *p_file, OpenFileMode mode = OpenFileMode::Read);
|
void fileClicked(VNoteFile *p_file,
|
||||||
void fileCreated(VNoteFile *p_file, OpenFileMode mode = OpenFileMode::Read);
|
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);
|
void fileUpdated(const VNoteFile *p_file);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user