KDDockWidgets API Documentation 1.7
|
LayoutSaver allows to save or restore layouts. More...
#include <LayoutSaver.h>
Public Member Functions | |
LayoutSaver (RestoreOptions options=RestoreOption_None) | |
Constructor. Construction on the stack is suggested. | |
~LayoutSaver () | |
Destructor. | |
Private * | dptr () const |
QVector< DockWidgetBase * > | restoredDockWidgets () const |
returns a list of dock widgets which were restored since the last restoreLayout() or restoreFromFile() | |
bool | restoreFromFile (const QString &jsonFilename) |
restores the layout from a JSON file | |
bool | restoreLayout (const QByteArray &) |
restores the layout from a byte array All MainWindows and DockWidgets should have been created before calling this function. | |
bool | saveToFile (const QString &jsonFilename) |
saves the layout to JSON file | |
QByteArray | serializeLayout () const |
saves the layout into a byte array | |
void | setAffinityNames (const QStringList &affinityNames) |
Sets the list of affinity names for which restore and save will be applied on. Allows to save/restore only a subset of the windows. Empty by default, all windows are subject to save/restore. Any window with empty affinity will also be subject to save/restore, regardless of affinityNames . | |
Static Public Member Functions | |
static bool | restoreInProgress () |
returns whether a restore (restoreLayout) is in progress | |
LayoutSaver allows to save or restore layouts.
You can save a layout to a file or to a byte array. JSON is used as the serialized format.
Example: LayoutSaver saver;
// Save to a file: saver.saveToFile(filename);
The counterpart of saveToFile() is restoreFromFile().
You can also save to a QByteArray instead, with serializeLayout(). The counterpart of serializeLayout() is restoreLayout();
Definition at line 54 of file LayoutSaver.h.
|
explicit |
Constructor. Construction on the stack is suggested.
Definition at line 109 of file LayoutSaver.cpp.
LayoutSaver::~LayoutSaver | ( | ) |
Destructor.
Definition at line 114 of file LayoutSaver.cpp.
LayoutSaver::Private * LayoutSaver::dptr | ( | ) | const |
Definition at line 321 of file LayoutSaver.cpp.
DockWidgetBase::List LayoutSaver::restoredDockWidgets | ( | ) | const |
returns a list of dock widgets which were restored since the last restoreLayout() or restoreFromFile()
Useful since some dock widgets can be new, and hence not be included in the last saved layout.
Definition at line 326 of file LayoutSaver.cpp.
References QVector::push_back(), QVector::reserve(), and QVector::size().
bool LayoutSaver::restoreFromFile | ( | const QString & | jsonFilename | ) |
restores the layout from a JSON file
jsonFilename | the filename containing a saved layout |
Definition at line 133 of file LayoutSaver.cpp.
References QIODevice::errorString(), QFile::open(), QIODevice::readAll(), QIODevice::ReadOnly, and restoreLayout().
Referenced by lint().
|
static |
returns whether a restore (restoreLayout) is in progress
Definition at line 444 of file LayoutSaver.cpp.
bool LayoutSaver::restoreLayout | ( | const QByteArray & | data | ) |
restores the layout from a byte array All MainWindows and DockWidgets should have been created before calling this function.
If not all DockWidgets can be created beforehand then make sure to set a DockWidget factory via Config::setDockWidgetFactoryFunc()
Definition at line 198 of file LayoutSaver.cpp.
References KDDockWidgets::MainWindowBase::affinities, KDDockWidgets::FrameworkWidgetFactory::createFloatingWindow(), KDDockWidgets::Config::frameworkWidgetFactory(), QByteArray::isEmpty(), KDDockWidgets::Config::mainWindowFactoryFunc(), KDDockWidgets::Config::self(), QWidget::window(), QWidget::windowHandle(), and Qt::WindowNoState.
Referenced by restoreFromFile().
bool LayoutSaver::saveToFile | ( | const QString & | jsonFilename | ) |
saves the layout to JSON file
jsonFilename | the filename where the layout will be saved to |
Definition at line 119 of file LayoutSaver.cpp.
References QIODevice::errorString(), QFile::open(), serializeLayout(), QIODevice::write(), and QIODevice::WriteOnly.
QByteArray LayoutSaver::serializeLayout | ( | ) | const |
saves the layout into a byte array
Definition at line 147 of file LayoutSaver.cpp.
References QVector::size(), and KDDockWidgets::DockWidgetBase::Skip.
Referenced by saveToFile().
void LayoutSaver::setAffinityNames | ( | const QStringList & | affinityNames | ) |
Sets the list of affinity names for which restore and save will be applied on. Allows to save/restore only a subset of the windows. Empty by default, all windows are subject to save/restore. Any window with empty affinity will also be subject to save/restore, regardless of affinityNames
.
Definition at line 312 of file LayoutSaver.cpp.
References QStringList::contains().