Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
8e62248c
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dbeaver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
8e62248c
编写于
4月 08, 2016
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#350 Remember dialog output folder in preferences.
Dialog utils refactoring. Former-commit-id:
ecd853e5
上级
ee06a3bd
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
73 addition
and
68 deletion
+73
-68
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/tools/compare/CompareObjectsPageOutput.java
...jkiss/dbeaver/tools/compare/CompareObjectsPageOutput.java
+2
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/tools/transfer/stream/StreamConsumerPageOutput.java
...eaver/tools/transfer/stream/StreamConsumerPageOutput.java
+2
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/UIUtils.java
....jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/UIUtils.java
+0
-31
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/DialogUtils.java
...er.core/src/org/jkiss/dbeaver/ui/dialogs/DialogUtils.java
+53
-6
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/preferences/PrefPageDrivers.java
...src/org/jkiss/dbeaver/ui/preferences/PrefPageDrivers.java
+2
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/preferences/PrefPageQueryManager.java
...rg/jkiss/dbeaver/ui/preferences/PrefPageQueryManager.java
+2
-1
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/views/DB2ConnectionTracePage.java
...g/jkiss/dbeaver/ext/db2/views/DB2ConnectionTracePage.java
+2
-1
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/tools/MySQLExportWizard.java
.../org/jkiss/dbeaver/ext/mysql/tools/MySQLExportWizard.java
+2
-2
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/tools/MySQLExportWizardPageSettings.java
...beaver/ext/mysql/tools/MySQLExportWizardPageSettings.java
+8
-24
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/tools/compare/CompareObjectsPageOutput.java
浏览文件 @
8e62248c
...
...
@@ -27,6 +27,7 @@ import org.eclipse.swt.layout.GridLayout;
import
org.eclipse.swt.widgets.*
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.dialogs.ActiveWizardPage
;
import
org.jkiss.dbeaver.ui.dialogs.DialogUtils
;
class
CompareObjectsPageOutput
extends
ActiveWizardPage
<
CompareObjectsWizard
>
{
...
...
@@ -98,7 +99,7 @@ class CompareObjectsPageOutput extends ActiveWizardPage<CompareObjectsWizard> {
}
});
outputFolderText
=
UI
Utils
.
createOutputFolderChooser
(
outputSettings
,
null
,
null
);
outputFolderText
=
Dialog
Utils
.
createOutputFolderChooser
(
outputSettings
,
null
,
null
);
outputFolderText
.
setText
(
settings
.
getOutputFolder
());
UIUtils
.
enableWithChildren
(
outputFolderText
.
getParent
(),
settings
.
getOutputType
()
==
CompareObjectsSettings
.
OutputType
.
FILE
);
outputFolderText
.
addModifyListener
(
new
ModifyListener
()
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/tools/transfer/stream/StreamConsumerPageOutput.java
浏览文件 @
8e62248c
...
...
@@ -29,6 +29,7 @@ import org.jkiss.dbeaver.core.CoreMessages;
import
org.jkiss.dbeaver.tools.transfer.wizard.DataTransferWizard
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.dialogs.ActiveWizardPage
;
import
org.jkiss.dbeaver.ui.dialogs.DialogUtils
;
import
org.jkiss.dbeaver.utils.GeneralUtils
;
import
org.jkiss.utils.CommonUtils
;
...
...
@@ -75,7 +76,7 @@ public class StreamConsumerPageOutput extends ActiveWizardPage<DataTransferWizar
updatePageCompletion
();
}
});
directoryText
=
UI
Utils
.
createOutputFolderChooser
(
generalSettings
,
null
,
new
ModifyListener
()
{
directoryText
=
Dialog
Utils
.
createOutputFolderChooser
(
generalSettings
,
null
,
new
ModifyListener
()
{
@Override
public
void
modifyText
(
ModifyEvent
e
)
{
settings
.
setOutputFolder
(
directoryText
.
getText
());
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/UIUtils.java
浏览文件 @
8e62248c
...
...
@@ -55,7 +55,6 @@ import org.jkiss.code.Nullable;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.DBeaverPreferences
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.core.DBeaverActivator
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
...
...
@@ -880,36 +879,6 @@ public class UIUtils {
setHelp
(
control
,
DBeaverCore
.
PLUGIN_ID
,
helpContextID
);
}
@NotNull
public
static
Text
createOutputFolderChooser
(
final
Composite
parent
,
@Nullable
String
label
,
@Nullable
ModifyListener
changeListener
)
{
final
String
message
=
label
!=
null
?
label
:
CoreMessages
.
data_transfer_wizard_output_label_directory
;
UIUtils
.
createControlLabel
(
parent
,
message
);
final
TextWithOpen
directoryText
=
new
TextWithOpen
(
parent
)
{
@Override
protected
void
openBrowser
()
{
DirectoryDialog
dialog
=
new
DirectoryDialog
(
parent
.
getShell
(),
SWT
.
NONE
);
dialog
.
setMessage
(
"Choose target directory"
);
dialog
.
setText
(
message
);
String
directory
=
getText
();
if
(!
CommonUtils
.
isEmpty
(
directory
))
{
dialog
.
setFilterPath
(
directory
);
}
directory
=
dialog
.
open
();
if
(
directory
!=
null
)
{
setText
(
directory
);
}
}
};
directoryText
.
setLayoutData
(
new
GridData
(
GridData
.
FILL_HORIZONTAL
));
if
(
changeListener
!=
null
)
{
directoryText
.
getTextControl
().
addModifyListener
(
changeListener
);
}
return
directoryText
.
getTextControl
();
}
public
static
String
makeAnchor
(
String
text
)
{
return
"<a>"
+
text
+
"</a>"
;
//$NON-NLS-1$ //$NON-NLS-2$
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/DialogUtils.java
浏览文件 @
8e62248c
...
...
@@ -18,10 +18,11 @@
package
org.jkiss.dbeaver.ui.dialogs
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.
widgets.FileDialog
;
import
org.eclipse.swt.
widgets.MessageBox
;
import
org.eclipse.swt.widgets.
Shell
;
import
org.eclipse.swt.
events.ModifyListener
;
import
org.eclipse.swt.
layout.GridData
;
import
org.eclipse.swt.widgets.
*
;
import
org.eclipse.ui.PlatformUI
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
...
...
@@ -33,9 +34,11 @@ import org.jkiss.dbeaver.model.impl.ExternalContentStorage;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.controls.TextWithOpen
;
import
org.jkiss.dbeaver.ui.data.IValueController
;
import
org.jkiss.dbeaver.utils.ContentUtils
;
import
org.jkiss.dbeaver.utils.GeneralUtils
;
import
org.jkiss.dbeaver.utils.RuntimeUtils
;
import
org.jkiss.utils.CommonUtils
;
import
java.io.File
;
...
...
@@ -50,7 +53,16 @@ public class DialogUtils {
static
final
Log
log
=
Log
.
getLog
(
DialogUtils
.
class
);
public
static
String
curDialogFolder
=
System
.
getProperty
(
"user.home"
);
private
static
final
String
DIALOG_FOLDER_PROPERTY
=
"dialog.default.folder"
;
public
static
String
curDialogFolder
;
static
{
curDialogFolder
=
DBeaverCore
.
getGlobalPreferenceStore
().
getString
(
DIALOG_FOLDER_PROPERTY
);
if
(
CommonUtils
.
isEmpty
(
curDialogFolder
))
{
curDialogFolder
=
RuntimeUtils
.
getUserHomeDir
().
getAbsolutePath
();
}
}
public
static
File
selectFileForSave
(
Shell
parentShell
,
String
valueName
)
{
...
...
@@ -110,12 +122,12 @@ public class DialogUtils {
public
static
String
openFileDialog
(
FileDialog
fileDialog
)
{
if
(
curDialogFolder
=
=
null
)
{
if
(
curDialogFolder
!
=
null
)
{
fileDialog
.
setFilterPath
(
curDialogFolder
);
}
String
fileName
=
fileDialog
.
open
();
if
(!
CommonUtils
.
isEmpty
(
fileName
))
{
curDialogFolder
=
fileDialog
.
getFilterPath
(
);
setCurDialogFolder
(
fileDialog
.
getFilterPath
()
);
}
return
fileName
;
}
...
...
@@ -213,6 +225,41 @@ public class DialogUtils {
public
static
void
setCurDialogFolder
(
String
curDialogFolder
)
{
DBeaverCore
.
getGlobalPreferenceStore
().
setValue
(
DIALOG_FOLDER_PROPERTY
,
curDialogFolder
);
DialogUtils
.
curDialogFolder
=
curDialogFolder
;
}
@NotNull
public
static
Text
createOutputFolderChooser
(
final
Composite
parent
,
@Nullable
String
label
,
@Nullable
ModifyListener
changeListener
)
{
final
String
message
=
label
!=
null
?
label
:
CoreMessages
.
data_transfer_wizard_output_label_directory
;
UIUtils
.
createControlLabel
(
parent
,
message
);
final
TextWithOpen
directoryText
=
new
TextWithOpen
(
parent
)
{
@Override
protected
void
openBrowser
()
{
DirectoryDialog
dialog
=
new
DirectoryDialog
(
parent
.
getShell
(),
SWT
.
NONE
);
dialog
.
setMessage
(
"Choose target directory"
);
dialog
.
setText
(
message
);
String
directory
=
getText
();
if
(
CommonUtils
.
isEmpty
(
directory
))
{
directory
=
curDialogFolder
;
}
if
(!
CommonUtils
.
isEmpty
(
directory
))
{
dialog
.
setFilterPath
(
directory
);
}
directory
=
dialog
.
open
();
if
(
directory
!=
null
)
{
setText
(
directory
);
setCurDialogFolder
(
directory
);
}
}
};
directoryText
.
setLayoutData
(
new
GridData
(
GridData
.
FILL_HORIZONTAL
));
if
(
changeListener
!=
null
)
{
directoryText
.
getTextControl
().
addModifyListener
(
changeListener
);
}
return
directoryText
.
getTextControl
();
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/preferences/PrefPageDrivers.java
浏览文件 @
8e62248c
...
...
@@ -39,6 +39,7 @@ import org.jkiss.dbeaver.registry.encode.SecuredPasswordEncrypter;
import
org.jkiss.dbeaver.registry.maven.MavenRegistry
;
import
org.jkiss.dbeaver.registry.maven.MavenRepository
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.dialogs.DialogUtils
;
import
org.jkiss.dbeaver.ui.dialogs.EnterNameDialog
;
import
org.jkiss.dbeaver.utils.PrefUtils
;
import
org.jkiss.utils.CommonUtils
;
...
...
@@ -187,7 +188,7 @@ public class PrefPageDrivers extends PreferencePage implements IWorkbenchPrefere
{
Group
drivers
=
UIUtils
.
createControlGroup
(
composite
,
CoreMessages
.
pref_page_drivers_group_location
,
2
,
GridData
.
FILL_HORIZONTAL
,
300
);
customDriversHome
=
UI
Utils
.
createOutputFolderChooser
(
drivers
,
"Local folder"
,
null
);
customDriversHome
=
Dialog
Utils
.
createOutputFolderChooser
(
drivers
,
"Local folder"
,
null
);
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/preferences/PrefPageQueryManager.java
浏览文件 @
8e62248c
...
...
@@ -35,6 +35,7 @@ import org.jkiss.dbeaver.model.exec.DBCExecutionPurpose;
import
org.jkiss.dbeaver.model.qm.QMConstants
;
import
org.jkiss.dbeaver.model.qm.QMObjectType
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.dialogs.DialogUtils
;
import
org.jkiss.dbeaver.utils.PrefUtils
;
import
org.jkiss.utils.CommonUtils
;
...
...
@@ -108,7 +109,7 @@ public class PrefPageQueryManager extends PreferencePage implements IWorkbenchPr
UIUtils
.
enableWithChildren
(
textOutputFolder
.
getParent
(),
checkStoreLog
.
getSelection
());
}
});
textOutputFolder
=
UI
Utils
.
createOutputFolderChooser
(
storageSettings
,
CoreMessages
.
pref_page_query_manager_logs_folder
,
null
);
textOutputFolder
=
Dialog
Utils
.
createOutputFolderChooser
(
storageSettings
,
CoreMessages
.
pref_page_query_manager_logs_folder
,
null
);
textHistoryDays
=
UIUtils
.
createLabelText
(
storageSettings
,
CoreMessages
.
pref_page_query_manager_label_days_to_store_log
,
""
,
SWT
.
BORDER
,
new
GridData
(
50
,
SWT
.
DEFAULT
));
//$NON-NLS-2$
textHistoryDays
.
setEnabled
(
false
);
}
...
...
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/views/DB2ConnectionTracePage.java
浏览文件 @
8e62248c
...
...
@@ -32,6 +32,7 @@ import org.jkiss.dbeaver.ext.db2.DB2Constants;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.connection.DBPConnectionConfiguration
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.dialogs.DialogUtils
;
import
org.jkiss.dbeaver.ui.dialogs.connection.ConnectionPageAbstract
;
import
org.jkiss.utils.CommonUtils
;
...
...
@@ -105,7 +106,7 @@ public class DB2ConnectionTracePage extends ConnectionPageAbstract
traceGroup
.
setLayout
(
new
GridLayout
(
2
,
false
));
traceGroup
.
setLayoutData
(
new
GridData
(
GridData
.
FILL_HORIZONTAL
));
folderText
=
UI
Utils
.
createOutputFolderChooser
(
traceGroup
,
"Folder"
,
null
);
folderText
=
Dialog
Utils
.
createOutputFolderChooser
(
traceGroup
,
"Folder"
,
null
);
fileNameText
=
UIUtils
.
createLabelText
(
traceGroup
,
"File name"
,
"trace"
);
traceAppendCheck
=
UIUtils
.
createLabelCheckbox
(
traceGroup
,
"Append"
,
false
);
...
...
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/tools/MySQLExportWizard.java
浏览文件 @
8e62248c
...
...
@@ -86,8 +86,8 @@ class MySQLExportWizard extends AbstractToolWizard<DBSObject, MySQLDatabaseExpor
public
void
setOutputFolder
(
File
outputFolder
)
{
if
(
outputFolder
!=
null
&&
outputFolder
.
getParentFile
()
!=
null
)
{
DialogUtils
.
setCurDialogFolder
(
outputFolder
.
get
ParentFile
().
get
AbsolutePath
());
if
(
outputFolder
!=
null
)
{
DialogUtils
.
setCurDialogFolder
(
outputFolder
.
getAbsolutePath
());
}
this
.
outputFolder
=
outputFolder
;
}
...
...
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/tools/MySQLExportWizardPageSettings.java
浏览文件 @
8e62248c
...
...
@@ -23,8 +23,6 @@ import org.eclipse.swt.events.*;
import
org.eclipse.swt.layout.GridData
;
import
org.eclipse.swt.widgets.*
;
import
org.jkiss.dbeaver.ext.mysql.MySQLMessages
;
import
org.jkiss.dbeaver.model.DBIcon
;
import
org.jkiss.dbeaver.ui.DBeaverIcons
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.dialogs.DialogUtils
;
import
org.jkiss.utils.CommonUtils
;
...
...
@@ -35,7 +33,7 @@ import java.io.File;
class
MySQLExportWizardPageSettings
extends
MySQLWizardPageSettings
<
MySQLExportWizard
>
{
private
Text
outputF
ile
Text
;
private
Text
outputF
older
Text
;
private
Combo
methodCombo
;
private
Button
noCreateStatementsCheck
;
private
Button
addDropStatementsCheck
;
...
...
@@ -94,30 +92,16 @@ class MySQLExportWizardPageSettings extends MySQLWizardPageSettings<MySQLExportW
removeDefiner
=
UIUtils
.
createCheckbox
(
settingsGroup
,
MySQLMessages
.
tools_db_export_wizard_page_settings_checkbox_remove_definer
,
wizard
.
comments
);
removeDefiner
.
addSelectionListener
(
changeListener
);
Group
outputGroup
=
UIUtils
.
createControlGroup
(
composite
,
MySQLMessages
.
tools_db_export_wizard_page_settings_group_output
,
3
,
GridData
.
FILL_HORIZONTAL
,
0
);
outputFileText
=
UIUtils
.
createLabelText
(
outputGroup
,
MySQLMessages
.
tools_db_export_wizard_page_settings_label_out_text
,
null
);
if
(
wizard
.
getOutputFolder
()
!=
null
)
{
outputFileText
.
setText
(
wizard
.
getOutputFolder
().
getAbsolutePath
());
}
outputFileText
.
addModifyListener
(
new
ModifyListener
()
{
Group
outputGroup
=
UIUtils
.
createControlGroup
(
composite
,
MySQLMessages
.
tools_db_export_wizard_page_settings_group_output
,
2
,
GridData
.
FILL_HORIZONTAL
,
0
);
outputFolderText
=
DialogUtils
.
createOutputFolderChooser
(
outputGroup
,
MySQLMessages
.
tools_db_export_wizard_page_settings_label_out_text
,
new
ModifyListener
()
{
@Override
public
void
modifyText
(
ModifyEvent
e
)
{
public
void
modifyText
(
ModifyEvent
e
)
{
updateState
();
}
});
Button
browseButton
=
new
Button
(
outputGroup
,
SWT
.
PUSH
);
browseButton
.
setImage
(
DBeaverIcons
.
getImage
(
DBIcon
.
TREE_FOLDER
));
browseButton
.
addSelectionListener
(
new
SelectionAdapter
()
{
@Override
public
void
widgetSelected
(
SelectionEvent
e
)
{
File
file
=
DialogUtils
.
selectFileForSave
(
getShell
(),
MySQLMessages
.
tools_db_export_wizard_page_settings_file_selector_title
,
new
String
[]{
"*.sql"
,
"*.txt"
,
"*.*"
},
outputFileText
.
getText
());
//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
if
(
file
!=
null
)
{
outputFileText
.
setText
(
file
.
getAbsolutePath
());
updateState
();
}
}
});
if
(
wizard
.
getOutputFolder
()
!=
null
)
{
outputFolderText
.
setText
(
wizard
.
getOutputFolder
().
getAbsolutePath
());
}
createSecurityGroup
(
composite
);
...
...
@@ -126,7 +110,7 @@ class MySQLExportWizardPageSettings extends MySQLWizardPageSettings<MySQLExportW
private
void
updateState
()
{
String
fileName
=
outputF
ile
Text
.
getText
();
String
fileName
=
outputF
older
Text
.
getText
();
wizard
.
setOutputFolder
(
CommonUtils
.
isEmpty
(
fileName
)
?
null
:
new
File
(
fileName
));
switch
(
methodCombo
.
getSelectionIndex
())
{
case
0
:
wizard
.
method
=
MySQLExportWizard
.
DumpMethod
.
ONLINE
;
break
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录