Keep track of CWD between image open file dialogs
This commit is contained in:
@@ -43,7 +43,7 @@
|
|||||||
/// Constructor
|
/// Constructor
|
||||||
///
|
///
|
||||||
ObjectEditor::ObjectEditor( QWidget *parent )
|
ObjectEditor::ObjectEditor( QWidget *parent )
|
||||||
: mModel(0), mObject(0), mBlocked(false)
|
: mModel(0), mObject(0), mImageCwd("."), mBlocked(false)
|
||||||
{
|
{
|
||||||
setupUi( this );
|
setupUi( this );
|
||||||
|
|
||||||
@@ -490,6 +490,17 @@ void ObjectEditor::onFillControlsChanged()
|
|||||||
|
|
||||||
void ObjectEditor::onImageFileButtonClicked()
|
void ObjectEditor::onImageFileButtonClicked()
|
||||||
{
|
{
|
||||||
|
// Either use saved CWD from a previous open or the current file, if it exists
|
||||||
|
QString cwd = mImageCwd;
|
||||||
|
if ( !mObject->filenameNode().isField() )
|
||||||
|
{
|
||||||
|
QFileInfo fileInfo( mObject->filenameNode().data() );
|
||||||
|
if ( fileInfo.isFile() )
|
||||||
|
{
|
||||||
|
cwd = fileInfo.filePath();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
QString filters =
|
QString filters =
|
||||||
tr("Image files (*.png *.jpg *.jpeg *.gif *.bmp *.pbm *.pgm *.ppm *.xbm *.xpm *.svg)") + ";;" +
|
tr("Image files (*.png *.jpg *.jpeg *.gif *.bmp *.pbm *.pgm *.ppm *.xbm *.xpm *.svg)") + ";;" +
|
||||||
tr("All files (*)") + ";;" +
|
tr("All files (*)") + ";;" +
|
||||||
@@ -507,12 +518,16 @@ void ObjectEditor::onImageFileButtonClicked()
|
|||||||
QString filename =
|
QString filename =
|
||||||
QFileDialog::getOpenFileName( this->window(),
|
QFileDialog::getOpenFileName( this->window(),
|
||||||
tr("gLabels - Select image file"),
|
tr("gLabels - Select image file"),
|
||||||
".", filters );
|
cwd, filters );
|
||||||
|
|
||||||
if ( !filename.isEmpty() )
|
if ( !filename.isEmpty() )
|
||||||
{
|
{
|
||||||
mUndoRedoModel->checkpoint( tr("Set image") );
|
mUndoRedoModel->checkpoint( tr("Set image") );
|
||||||
mObject->setFilenameNode( TextNode( false, filename ) );
|
mObject->setFilenameNode( TextNode( false, filename ) );
|
||||||
|
|
||||||
|
// Save CWD for next open
|
||||||
|
QFileInfo fileInfo( filename );
|
||||||
|
mImageCwd = fileInfo.absolutePath();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -106,6 +106,8 @@ private:
|
|||||||
QButtonGroup* textHAlignGroup;
|
QButtonGroup* textHAlignGroup;
|
||||||
QButtonGroup* textVAlignGroup;
|
QButtonGroup* textVAlignGroup;
|
||||||
|
|
||||||
|
QString mImageCwd;
|
||||||
|
|
||||||
bool mBlocked;
|
bool mBlocked;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user