diff --git a/glabels/MergeView.cpp b/glabels/MergeView.cpp
index 0a1eea6..bf0f306 100644
--- a/glabels/MergeView.cpp
+++ b/glabels/MergeView.cpp
@@ -63,14 +63,7 @@ namespace glabels
mUndoRedoModel = undoRedoModel;
// Initialize CWD
- if ( model->fileName().isEmpty() )
- {
- mCwd = ".";
- }
- else
- {
- mCwd = QFileInfo( model->fileName() ).absolutePath();
- }
+ mCwd = mModel->dir();
onMergeChanged();
connect( mModel, SIGNAL(mergeChanged()), this, SLOT(onMergeChanged()) );
@@ -87,26 +80,22 @@ namespace glabels
mOldFormatComboIndex = index;
formatCombo->setCurrentIndex( index );
+ QString fn;
+
switch ( merge::Factory::idToType( mModel->merge()->id() ) )
{
case merge::Factory::NONE:
case merge::Factory::FIXED:
locationLabel->setEnabled( false );
- locationButton->setEnabled( false );
- locationButton->setText( "" );
+ locationLineEdit->setText( "" );
+ locationBrowseButton->setVisible( false );
break;
case merge::Factory::FILE:
locationLabel->setEnabled( true );
- locationButton->setEnabled( true );
- if ( mModel->merge()->source().isEmpty() )
- {
- locationButton->setText( "Select file..." );
- }
- else
- {
- locationButton->setText( mModel->merge()->source() );
- }
+ fn = QDir(mModel->dir()).relativeFilePath( mModel->merge()->source() );
+ locationLineEdit->setText( fn );
+ locationBrowseButton->setVisible( true );
break;
default:
@@ -135,7 +124,8 @@ namespace glabels
///
void MergeView::onMergeSourceChanged()
{
- locationButton->setText( mModel->merge()->source() );
+ QString fn = QDir(mModel->dir()).relativeFilePath( mModel->merge()->source() );
+ locationLineEdit->setText( fn );
recordsTable->clear();
recordsTable->setColumnCount( 0 );
@@ -185,7 +175,7 @@ namespace glabels
///
/// Location button clicked handler
///
- void MergeView::onLocationButtonClicked()
+ void MergeView::onLocationBrowseButtonClicked()
{
QString fileName =
QFileDialog::getOpenFileName( this,
diff --git a/glabels/MergeView.h b/glabels/MergeView.h
index 8734994..e0ddead 100644
--- a/glabels/MergeView.h
+++ b/glabels/MergeView.h
@@ -67,7 +67,7 @@ namespace glabels
void onMergeSelectionChanged();
void onFormatComboActivated();
- void onLocationButtonClicked();
+ void onLocationBrowseButtonClicked();
void onSelectAllButtonClicked();
void onUnselectAllButtonClicked();
void onCellChanged( int iRow, int iCol );
diff --git a/glabels/ui/MergeView.ui b/glabels/ui/MergeView.ui
index 89517fd..c7f682a 100644
--- a/glabels/ui/MergeView.ui
+++ b/glabels/ui/MergeView.ui
@@ -46,16 +46,9 @@
Source
-
- -
+
+
-
-
-
-
-
- Location
-
-
-
-
@@ -63,6 +56,27 @@
+ -
+
+
+ -
+
+
-
+
+
+ true
+
+
+
+ -
+
+
+ Browse...
+
+
+
+
+
-
@@ -70,24 +84,8 @@
- -
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 360
- 20
-
-
-
-
@@ -151,8 +149,8 @@
onSelectAllButtonClicked()
- 63
- 571
+ 97
+ 570
69
@@ -176,22 +174,6 @@
-
- locationButton
- clicked()
- MergeView
- onLocationButtonClicked()
-
-
- 174
- 93
-
-
- 570
- 75
-
-
-
formatCombo
activated(int)
@@ -199,8 +181,8 @@
onFormatComboActivated()
- 162
- 48
+ 257
+ 109
563
@@ -208,11 +190,27 @@
+
+ locationBrowseButton
+ clicked()
+ MergeView
+ onLocationBrowseButtonClicked()
+
+
+ 296
+ 130
+
+
+ 565
+ 149
+
+
+
onSelectAllButtonClicked()
onUnselectAllButtonClicked()
- onLocationButtonClicked()
onFormatComboActivated()
+ onLocationBrowseButtonClicked()
diff --git a/translations/glabels_C.ts b/translations/glabels_C.ts
index 575f40d..d300fce 100644
--- a/translations/glabels_C.ts
+++ b/translations/glabels_C.ts
@@ -286,10 +286,6 @@
Source
-
- Location
-
-
Format:
@@ -310,6 +306,10 @@
Unselect all
+
+ Browse...
+
+
ObjectEditor