mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 13:18:28 +00:00
Now LyX closes the current document WA only by default (other WAs remain open).
If the WA is the last one showing a buffer, then the buffer may either be closed or kept hidden, or the user is asked. The behaviour is controlled by a new preference option. For discussion, see http://comments.gmane.org/gmane.editors.lyx.devel/142638
This commit is contained in:
parent
d708710c47
commit
4985015e89
@ -6,6 +6,17 @@ when upgrading from earlier versions to a version of the 2.1.x series.
|
|||||||
Interface changes
|
Interface changes
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
Whenever the user closes a (tabbed) view on a document, either by
|
||||||
|
clicking on the tab close button, or by using the File->Close menu,
|
||||||
|
LyX now closes exclusively that specific view. If there are other
|
||||||
|
views showing the same document, they are not closed. When the user
|
||||||
|
closes the last view, LyX can be configured for either closing the
|
||||||
|
document, or keeping it into memory as a hidden document (that can be
|
||||||
|
shown again through the View->Hidden-> submenu).
|
||||||
|
|
||||||
|
A new configurable preference option has been added, allowing for either
|
||||||
|
(close_buffer_with_last_view)
|
||||||
|
|
||||||
There have been some changes to the LyX command line. The following new
|
There have been some changes to the LyX command line. The following new
|
||||||
options have been added:
|
options have been added:
|
||||||
|
|
||||||
@ -27,6 +38,11 @@ search operation by hitting the ESC key.
|
|||||||
|
|
||||||
The following pref variables were changed in 2.1:
|
The following pref variables were changed in 2.1:
|
||||||
|
|
||||||
|
- \\close_buffer_with_last_view [yes|no|ask]
|
||||||
|
When user closes the last view on a document, close the document
|
||||||
|
as well ("yes"), or hide the document ("no"), or ask the user
|
||||||
|
("ask").
|
||||||
|
|
||||||
The following pref variables are obsoleted in 2.1:
|
The following pref variables are obsoleted in 2.1:
|
||||||
|
|
||||||
- \\default_language
|
- \\default_language
|
||||||
@ -45,6 +61,10 @@ The following new LyX functions have been introduced:
|
|||||||
This is also available through a new menu voice within the
|
This is also available through a new menu voice within the
|
||||||
[Edit]->[Paste Special...] sub-menu.
|
[Edit]->[Paste Special...] sub-menu.
|
||||||
|
|
||||||
|
- LFUN_VIEW_CLOSE
|
||||||
|
Close the current document view only, if there are no more views
|
||||||
|
on the document, either close or hide it (see the new preference
|
||||||
|
option \\close_buffer_with_last_view)
|
||||||
|
|
||||||
The following LyX functions have been removed:
|
The following LyX functions have been removed:
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ Format 1
|
|||||||
\bind "C-n" "buffer-new"
|
\bind "C-n" "buffer-new"
|
||||||
\bind "C-S-N" "buffer-new-template"
|
\bind "C-S-N" "buffer-new-template"
|
||||||
\bind "C-o" "file-open"
|
\bind "C-o" "file-open"
|
||||||
\bind "C-w" "buffer-close"
|
\bind "C-w" "view-close"
|
||||||
\bind "C-s" "buffer-write"
|
\bind "C-s" "buffer-write"
|
||||||
\bind "C-S-S" "buffer-write-as"
|
\bind "C-S-S" "buffer-write-as"
|
||||||
\bind "C-p" "dialog-show print"
|
\bind "C-p" "dialog-show print"
|
||||||
|
@ -456,6 +456,7 @@ enum FuncCode
|
|||||||
LFUN_IN_IPA, // spitz, 20120520
|
LFUN_IN_IPA, // spitz, 20120520
|
||||||
LFUN_IPAMACRO_INSERT, // spitz, 20120822
|
LFUN_IPAMACRO_INSERT, // spitz, 20120822
|
||||||
// 355
|
// 355
|
||||||
|
LFUN_VIEW_CLOSE, // Tommaso, 20120915
|
||||||
LFUN_LASTACTION // end of the table
|
LFUN_LASTACTION // end of the table
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2685,6 +2685,18 @@ void LyXAction::init()
|
|||||||
* \endvar
|
* \endvar
|
||||||
*/
|
*/
|
||||||
{ LFUN_CLOSE_TAB_GROUP, "close-tab-group", ReadOnly, Buffer },
|
{ LFUN_CLOSE_TAB_GROUP, "close-tab-group", ReadOnly, Buffer },
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \var lyx::FuncCode lyx::LFUN_VIEW_CLOSE
|
||||||
|
* \li Action: Close the current document work area.
|
||||||
|
* \li Notion: Close the current work area. If no other work areas are showing the buffer,
|
||||||
|
then close the associated buffer as well.
|
||||||
|
* \li Syntax: view-close
|
||||||
|
* \li Origin: Tommaso, 15 Sep 2012
|
||||||
|
* \endvar
|
||||||
|
*/
|
||||||
|
{ LFUN_VIEW_CLOSE, "view-close", ReadOnly, Buffer },
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \var lyx::FuncCode lyx::LFUN_DIALOG_SHOW
|
* \var lyx::FuncCode lyx::LFUN_DIALOG_SHOW
|
||||||
* \li Action: Shows hidden dialog or creates new one for a given function/inset settings etc.
|
* \li Action: Shows hidden dialog or creates new one for a given function/inset settings etc.
|
||||||
|
@ -210,6 +210,7 @@ LexerKeyword lyxrcTags[] = {
|
|||||||
{ "\\viewer", LyXRC::RC_VIEWER},
|
{ "\\viewer", LyXRC::RC_VIEWER},
|
||||||
{ "\\viewer_alternatives", LyXRC::RC_VIEWER_ALTERNATIVES },
|
{ "\\viewer_alternatives", LyXRC::RC_VIEWER_ALTERNATIVES },
|
||||||
{ "\\visual_cursor", LyXRC::RC_VISUAL_CURSOR },
|
{ "\\visual_cursor", LyXRC::RC_VISUAL_CURSOR },
|
||||||
|
{ "\\close_buffer_with_last_view", LyXRC::RC_CLOSE_BUFFER_WITH_LAST_VIEW },
|
||||||
{ "format", LyXRC::RC_LYXRCFORMAT }
|
{ "format", LyXRC::RC_LYXRCFORMAT }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -370,6 +371,7 @@ void LyXRC::setDefaults()
|
|||||||
default_decimal_point = ".";
|
default_decimal_point = ".";
|
||||||
default_length_unit = Length::CM;
|
default_length_unit = Length::CM;
|
||||||
cursor_width = 1;
|
cursor_width = 1;
|
||||||
|
close_buffer_with_last_view = "yes";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1042,6 +1044,9 @@ LyXRC::ReturnValues LyXRC::read(Lexer & lexrc, bool check_format)
|
|||||||
case RC_VISUAL_CURSOR:
|
case RC_VISUAL_CURSOR:
|
||||||
lexrc >> visual_cursor;
|
lexrc >> visual_cursor;
|
||||||
break;
|
break;
|
||||||
|
case RC_CLOSE_BUFFER_WITH_LAST_VIEW:
|
||||||
|
lexrc >> close_buffer_with_last_view;
|
||||||
|
break;
|
||||||
case RC_AUTO_NUMBER:
|
case RC_AUTO_NUMBER:
|
||||||
lexrc >> auto_number;
|
lexrc >> auto_number;
|
||||||
break;
|
break;
|
||||||
@ -2528,6 +2533,14 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
|
|||||||
}
|
}
|
||||||
if (tag != RC_LAST)
|
if (tag != RC_LAST)
|
||||||
break;
|
break;
|
||||||
|
case RC_CLOSE_BUFFER_WITH_LAST_VIEW:
|
||||||
|
if (ignore_system_lyxrc ||
|
||||||
|
close_buffer_with_last_view != system_lyxrc.close_buffer_with_last_view) {
|
||||||
|
os << "# When closing last view, buffer closes (yes), hides (no), or ask the user (ask)\n";
|
||||||
|
os << "\\close_buffer_with_last_view " << close_buffer_with_last_view << '\n';
|
||||||
|
}
|
||||||
|
if (tag != RC_LAST)
|
||||||
|
break;
|
||||||
case RC_LANGUAGE_CUSTOM_PACKAGE:
|
case RC_LANGUAGE_CUSTOM_PACKAGE:
|
||||||
if (ignore_system_lyxrc ||
|
if (ignore_system_lyxrc ||
|
||||||
language_custom_package != system_lyxrc.language_custom_package) {
|
language_custom_package != system_lyxrc.language_custom_package) {
|
||||||
@ -3025,6 +3038,7 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
|
|||||||
case LyXRC::RC_FULL_SCREEN_TOOLBARS:
|
case LyXRC::RC_FULL_SCREEN_TOOLBARS:
|
||||||
case LyXRC::RC_FULL_SCREEN_WIDTH:
|
case LyXRC::RC_FULL_SCREEN_WIDTH:
|
||||||
case LyXRC::RC_VISUAL_CURSOR:
|
case LyXRC::RC_VISUAL_CURSOR:
|
||||||
|
case LyXRC::RC_CLOSE_BUFFER_WITH_LAST_VIEW:
|
||||||
case LyXRC::RC_VIEWER:
|
case LyXRC::RC_VIEWER:
|
||||||
case LyXRC::RC_VIEWER_ALTERNATIVES:
|
case LyXRC::RC_VIEWER_ALTERNATIVES:
|
||||||
case LyXRC::RC_FORWARD_SEARCH_DVI:
|
case LyXRC::RC_FORWARD_SEARCH_DVI:
|
||||||
@ -3387,6 +3401,10 @@ string const LyXRC::getDescription(LyXRCTags tag)
|
|||||||
str = _("Select to have visual bidi cursor movement, unselect for logical movement.");
|
str = _("Select to have visual bidi cursor movement, unselect for logical movement.");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case RC_CLOSE_BUFFER_WITH_LAST_VIEW:
|
||||||
|
str = _("Specify whether, closing the last view of an open document, LyX should close the document (yes), hide it (no), or ask the user (ask).");
|
||||||
|
break;
|
||||||
|
|
||||||
case RC_SCREEN_DPI:
|
case RC_SCREEN_DPI:
|
||||||
str = _("DPI (dots per inch) of your monitor is auto-detected by LyX. If that goes wrong, override the setting here.");
|
str = _("DPI (dots per inch) of your monitor is auto-detected by LyX. If that goes wrong, override the setting here.");
|
||||||
break;
|
break;
|
||||||
|
@ -190,6 +190,7 @@ public:
|
|||||||
RC_VIEWER,
|
RC_VIEWER,
|
||||||
RC_VIEWER_ALTERNATIVES,
|
RC_VIEWER_ALTERNATIVES,
|
||||||
RC_VISUAL_CURSOR,
|
RC_VISUAL_CURSOR,
|
||||||
|
RC_CLOSE_BUFFER_WITH_LAST_VIEW,
|
||||||
RC_LAST
|
RC_LAST
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -547,6 +548,8 @@ public:
|
|||||||
bool force_paint_single_char;
|
bool force_paint_single_char;
|
||||||
///
|
///
|
||||||
int cursor_width;
|
int cursor_width;
|
||||||
|
/// One of: yes, no, ask
|
||||||
|
std::string close_buffer_with_last_view;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -2526,6 +2526,8 @@ PrefUserInterface::PrefUserInterface(GuiPreferences * form)
|
|||||||
this, SIGNAL(changed()));
|
this, SIGNAL(changed()));
|
||||||
connect(iconSetCO, SIGNAL(activated(int)),
|
connect(iconSetCO, SIGNAL(activated(int)),
|
||||||
this, SIGNAL(changed()));
|
this, SIGNAL(changed()));
|
||||||
|
connect(closeLastViewCO, SIGNAL(activated(int)),
|
||||||
|
this, SIGNAL(changed()));
|
||||||
connect(restoreCursorCB, SIGNAL(clicked()),
|
connect(restoreCursorCB, SIGNAL(clicked()),
|
||||||
this, SIGNAL(changed()));
|
this, SIGNAL(changed()));
|
||||||
connect(loadSessionCB, SIGNAL(clicked()),
|
connect(loadSessionCB, SIGNAL(clicked()),
|
||||||
@ -2572,6 +2574,19 @@ void PrefUserInterface::apply(LyXRC & rc) const
|
|||||||
#if QT_VERSION < 0x040500
|
#if QT_VERSION < 0x040500
|
||||||
rc.single_close_tab_button = true;
|
rc.single_close_tab_button = true;
|
||||||
#endif
|
#endif
|
||||||
|
switch (closeLastViewCO->currentIndex()) {
|
||||||
|
case 0:
|
||||||
|
rc.close_buffer_with_last_view = "yes";
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
rc.close_buffer_with_last_view = "no";
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
rc.close_buffer_with_last_view = "ask";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2601,6 +2616,12 @@ void PrefUserInterface::update(LyXRC const & rc)
|
|||||||
singleInstanceCB->setChecked(rc.single_instance && !rc.lyxpipes.empty());
|
singleInstanceCB->setChecked(rc.single_instance && !rc.lyxpipes.empty());
|
||||||
singleInstanceCB->setEnabled(!rc.lyxpipes.empty());
|
singleInstanceCB->setEnabled(!rc.lyxpipes.empty());
|
||||||
singleCloseTabButtonCB->setChecked(rc.single_close_tab_button);
|
singleCloseTabButtonCB->setChecked(rc.single_close_tab_button);
|
||||||
|
if (rc.close_buffer_with_last_view == "yes")
|
||||||
|
closeLastViewCO->setCurrentIndex(0);
|
||||||
|
else if (rc.close_buffer_with_last_view == "no")
|
||||||
|
closeLastViewCO->setCurrentIndex(1);
|
||||||
|
else if (rc.close_buffer_with_last_view == "ask")
|
||||||
|
closeLastViewCO->setCurrentIndex(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -330,6 +330,18 @@ struct GuiView::GuiViewPrivate
|
|||||||
return tabWorkArea(0);
|
return tabWorkArea(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int countWorkAreasOf(Buffer & buf)
|
||||||
|
{
|
||||||
|
int areas = tabWorkAreaCount();
|
||||||
|
int count = 0;
|
||||||
|
for (int i = 0; i != areas; ++i) {
|
||||||
|
TabWorkArea * twa = tabWorkArea(i);
|
||||||
|
if (twa->workArea(buf))
|
||||||
|
++count;
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
#if (QT_VERSION >= 0x040400)
|
#if (QT_VERSION >= 0x040400)
|
||||||
void setPreviewFuture(QFuture<Buffer::ExportStatus> const & f)
|
void setPreviewFuture(QFuture<Buffer::ExportStatus> const & f)
|
||||||
{
|
{
|
||||||
@ -1688,6 +1700,7 @@ bool GuiView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case LFUN_BUFFER_CLOSE:
|
case LFUN_BUFFER_CLOSE:
|
||||||
|
case LFUN_VIEW_CLOSE:
|
||||||
enable = doc_buffer;
|
enable = doc_buffer;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -2458,10 +2471,45 @@ bool GuiView::hideWorkArea(GuiWorkArea * wa)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// We only want to close the buffer if it is not visible in other workareas
|
||||||
|
// of the same view, nor in other views, and if this is not a child
|
||||||
bool GuiView::closeWorkArea(GuiWorkArea * wa)
|
bool GuiView::closeWorkArea(GuiWorkArea * wa)
|
||||||
{
|
{
|
||||||
Buffer & buf = wa->bufferView().buffer();
|
Buffer & buf = wa->bufferView().buffer();
|
||||||
return closeWorkArea(wa, !buf.parent());
|
|
||||||
|
bool last_wa = d.countWorkAreasOf(buf) == 1
|
||||||
|
&& !inOtherView(buf) && !buf.parent();
|
||||||
|
|
||||||
|
bool close_buffer = last_wa;
|
||||||
|
|
||||||
|
if (last_wa) {
|
||||||
|
if (lyxrc.close_buffer_with_last_view == "yes")
|
||||||
|
; // Nothing to do
|
||||||
|
else if (lyxrc.close_buffer_with_last_view == "no")
|
||||||
|
close_buffer = false;
|
||||||
|
else {
|
||||||
|
docstring file;
|
||||||
|
if (buf.isUnnamed())
|
||||||
|
file = from_utf8(buf.fileName().onlyFileName());
|
||||||
|
else
|
||||||
|
file = buf.fileName().displayName(30);
|
||||||
|
docstring const text = bformat(
|
||||||
|
_("Last view on document %1$s is being closed.\n"
|
||||||
|
"Would you like to close or hide the document?\n"
|
||||||
|
"\n"
|
||||||
|
"Hidden documents can be displayed back through\n"
|
||||||
|
"the menu: View->Hidden->...\n"
|
||||||
|
"\n"
|
||||||
|
"To remove this question, set your preference in:\n"
|
||||||
|
" Tools->Preferences->Look&Feel->UserInterface\n"
|
||||||
|
), file);
|
||||||
|
int ret = Alert::prompt(_("Close or hide document?"),
|
||||||
|
text, 0, 1, _("&Close"), _("&Hide"));
|
||||||
|
close_buffer = (ret == 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return closeWorkArea(wa, close_buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -3570,6 +3618,21 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LFUN_VIEW_CLOSE:
|
||||||
|
if (TabWorkArea * twa = d.currentTabWorkArea()) {
|
||||||
|
closeWorkArea(twa->currentWorkArea());
|
||||||
|
d.current_work_area_ = 0;
|
||||||
|
twa = d.currentTabWorkArea();
|
||||||
|
// Switch to the next GuiWorkArea in the found TabWorkArea.
|
||||||
|
if (twa) {
|
||||||
|
// Make sure the work area is up to date.
|
||||||
|
setCurrentWorkArea(twa->currentWorkArea());
|
||||||
|
} else {
|
||||||
|
setCurrentWorkArea(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case LFUN_COMPLETION_INLINE:
|
case LFUN_COMPLETION_INLINE:
|
||||||
if (d.current_work_area_)
|
if (d.current_work_area_)
|
||||||
d.current_work_area_->completer().showInline();
|
d.current_work_area_->completer().showInline();
|
||||||
|
@ -145,7 +145,7 @@ public:
|
|||||||
|
|
||||||
/// hides the workarea and makes sure it is clean
|
/// hides the workarea and makes sure it is clean
|
||||||
bool hideWorkArea(GuiWorkArea * wa);
|
bool hideWorkArea(GuiWorkArea * wa);
|
||||||
/// closes the workarea
|
/// closes workarea; close buffer only if no other workareas point to it
|
||||||
bool closeWorkArea(GuiWorkArea * wa);
|
bool closeWorkArea(GuiWorkArea * wa);
|
||||||
/// closes the buffer
|
/// closes the buffer
|
||||||
bool closeBuffer(Buffer & buf);
|
bool closeBuffer(Buffer & buf);
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>PrefUi</class>
|
<class>PrefUi</class>
|
||||||
<widget class="QWidget" name="PrefUi">
|
<widget class="QWidget" name="PrefUi">
|
||||||
@ -5,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>413</width>
|
<width>604</width>
|
||||||
<height>408</height>
|
<height>559</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
@ -52,20 +53,21 @@
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0" >
|
<item row="1" column="0">
|
||||||
<widget class="QLabel" name="iconSetLA" >
|
<widget class="QLabel" name="iconSetLA">
|
||||||
<property name="text" >
|
<property name="text">
|
||||||
<string>&Icon Set:</string>
|
<string>&Icon Set:</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="buddy" >
|
<property name="buddy">
|
||||||
<cstring>iconSetCO</cstring>
|
<cstring>iconSetCO</cstring>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="1" >
|
<item row="1" column="1">
|
||||||
<widget class="QComboBox" name="iconSetCO" >
|
<widget class="QComboBox" name="iconSetCO">
|
||||||
<property name="toolTip" >
|
<property name="toolTip">
|
||||||
<string>The icon set to use. Warning: normal size of icons may be
wrong until you save the preferences and restart LyX.</string>
|
<string>The icon set to use. Warning: normal size of icons may be
|
||||||
|
wrong until you save the preferences and restart LyX.</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -259,7 +261,8 @@
|
|||||||
<item row="5" column="0" colspan="2">
|
<item row="5" column="0" colspan="2">
|
||||||
<widget class="QCheckBox" name="singleInstanceCB">
|
<widget class="QCheckBox" name="singleInstanceCB">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Whether to open documents in an already running instance of LyX.
(Set the LyXServer pipe path and restart LyX to enable this feature)</string>
|
<string>Whether to open documents in an already running instance of LyX.
|
||||||
|
(Set the LyXServer pipe path and restart LyX to enable this feature)</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>S&ingle instance</string>
|
<string>S&ingle instance</string>
|
||||||
@ -276,6 +279,32 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="7" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Closing last view:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="closeLastViewCO">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Closes document</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Hides document</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Ask the user</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
Loading…
Reference in New Issue
Block a user