diff --git a/plugins/org.jkiss.dbeaver.data.transfer.ui/src/org/jkiss/dbeaver/tools/transfer/ui/wizard/DataTransferWizard.java b/plugins/org.jkiss.dbeaver.data.transfer.ui/src/org/jkiss/dbeaver/tools/transfer/ui/wizard/DataTransferWizard.java index 0f11eb9125aa7960430584d58d31d201aefe4118..a53f655819be913cf068cf9d3c71bb41977052f6 100644 --- a/plugins/org.jkiss.dbeaver.data.transfer.ui/src/org/jkiss/dbeaver/tools/transfer/ui/wizard/DataTransferWizard.java +++ b/plugins/org.jkiss.dbeaver.data.transfer.ui/src/org/jkiss/dbeaver/tools/transfer/ui/wizard/DataTransferWizard.java @@ -170,6 +170,8 @@ public class DataTransferWizard extends TaskConfigurationWizard implements IExpo addNodeSettings(node); } } + + updateWizardTitle(); } @Override diff --git a/plugins/org.jkiss.dbeaver.model/icons/tree/task.png b/plugins/org.jkiss.dbeaver.model/icons/tree/task.png new file mode 100644 index 0000000000000000000000000000000000000000..f23bb5b915f0de054f6c96aaf169ad096d4d6e22 Binary files /dev/null and b/plugins/org.jkiss.dbeaver.model/icons/tree/task.png differ diff --git a/plugins/org.jkiss.dbeaver.model/icons/tree/task@2x.png b/plugins/org.jkiss.dbeaver.model/icons/tree/task@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fdb0f4aa9292b188c31f823c818977d18aca212b Binary files /dev/null and b/plugins/org.jkiss.dbeaver.model/icons/tree/task@2x.png differ diff --git a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBIcon.java b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBIcon.java index 113680278059e2eca2effe955d057a625448166c..7620c4e66d3810b2b4fd710d42d7b68a0d8d2bc6 100644 --- a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBIcon.java +++ b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBIcon.java @@ -73,6 +73,7 @@ public class DBIcon implements DBPImage public static final DBIcon TREE_SESSIONS = new DBIcon("sessions", "tree/sessions.png"); //$NON-NLS-1$ //$NON-NLS-2$ public static final DBIcon TREE_LOCKS = new DBIcon("locks", "tree/locks.png"); //$NON-NLS-1$ //$NON-NLS-2$ public static final DBIcon TREE_PACKAGE = new DBIcon("package", "tree/package.png"); //$NON-NLS-1$ //$NON-NLS-2$ + public static final DBIcon TREE_TASK = new DBIcon("task", "tree/task.png"); //$NON-NLS-1$ //$NON-NLS-2$ public static final DBIcon TREE_DATA_TYPE = new DBIcon("data_type", "tree/data_type.png"); //$NON-NLS-1$ //$NON-NLS-2$ public static final DBIcon TREE_SEQUENCE = new DBIcon("sequence", "tree/sequence.png"); //$NON-NLS-1$ //$NON-NLS-2$ public static final DBIcon TREE_SYNONYM = new DBIcon("synonym", "tree/synonym.png"); //$NON-NLS-1$ //$NON-NLS-2$ diff --git a/plugins/org.jkiss.dbeaver.ui.navigator/build.properties b/plugins/org.jkiss.dbeaver.ui.navigator/build.properties index cd9c1e5516b43eb12e73a67b4723c2dbf92a4154..df30665c955a4153b6efb72c086657b70792d94c 100644 --- a/plugins/org.jkiss.dbeaver.ui.navigator/build.properties +++ b/plugins/org.jkiss.dbeaver.ui.navigator/build.properties @@ -3,5 +3,6 @@ output.. = target/classes/ bin.includes = .,\ META-INF/,\ OSGI-INF/,\ + icons/,\ schema/,\ plugin.xml diff --git a/plugins/org.jkiss.dbeaver.ui.navigator/icons/task_create.png b/plugins/org.jkiss.dbeaver.ui.navigator/icons/task_create.png new file mode 100644 index 0000000000000000000000000000000000000000..9ef9b961ba59b8b3e37946b716cdcfc9d62f7859 Binary files /dev/null and b/plugins/org.jkiss.dbeaver.ui.navigator/icons/task_create.png differ diff --git a/plugins/org.jkiss.dbeaver.ui.navigator/icons/task_create@2x.png b/plugins/org.jkiss.dbeaver.ui.navigator/icons/task_create@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3248b195cf639b86b27322e7bf62b43dae3ddef1 Binary files /dev/null and b/plugins/org.jkiss.dbeaver.ui.navigator/icons/task_create@2x.png differ diff --git a/plugins/org.jkiss.dbeaver.ui.navigator/icons/task_list.png b/plugins/org.jkiss.dbeaver.ui.navigator/icons/task_list.png new file mode 100644 index 0000000000000000000000000000000000000000..29a4d8947ad65339c34fd5a9acaec203a897e070 Binary files /dev/null and b/plugins/org.jkiss.dbeaver.ui.navigator/icons/task_list.png differ diff --git a/plugins/org.jkiss.dbeaver.ui.navigator/icons/task_list@2x.png b/plugins/org.jkiss.dbeaver.ui.navigator/icons/task_list@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..2862cbb3d32e633decd416667656b59a04a8727a Binary files /dev/null and b/plugins/org.jkiss.dbeaver.ui.navigator/icons/task_list@2x.png differ diff --git a/plugins/org.jkiss.dbeaver.ui.navigator/plugin.xml b/plugins/org.jkiss.dbeaver.ui.navigator/plugin.xml index b7ea05eaab300ee3bd4590828ec0ff1de4e5e415..19eff0c0e125b3fe8a865e9b13de11a1dcf09165 100644 --- a/plugins/org.jkiss.dbeaver.ui.navigator/plugin.xml +++ b/plugins/org.jkiss.dbeaver.ui.navigator/plugin.xml @@ -66,7 +66,7 @@ category="org.jkiss.dbeaver.core.category" class="org.jkiss.dbeaver.ui.task.DatabaseTasksView" allowMultiple="false" - icon="platform:/plugin/org.jkiss.dbeaver.model/icons/tree/package.png" + icon="icons/task_list.png" name="%view.tasks.title"/> @@ -312,6 +312,7 @@ + @@ -845,14 +846,14 @@ - + - + diff --git a/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/DatabaseTasksView.java b/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/DatabaseTasksView.java index 8c412fe88b81ac4805cdee9a5e1bd3a7d7f77221..56648fbf516fa4e5d399fb7579d20d030218b95e 100644 --- a/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/DatabaseTasksView.java +++ b/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/DatabaseTasksView.java @@ -150,7 +150,7 @@ public class DatabaseTasksView extends ViewPart implements DBTTaskListener { @Override protected DBPImage getCellImage(DBTTask task) { DBPImage icon = task.getType().getIcon(); - return icon != null ? icon : DBIcon.TREE_PACKAGE; + return icon != null ? icon : DBIcon.TREE_TASK; } @Override diff --git a/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/EditTaskConfigurationDialog.java b/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/EditTaskConfigurationDialog.java index 6714f4ab22bd7d245923347a6a4613b53859d323..b3b3914ae3a59566c7ca5eb9184900b7f039b592 100644 --- a/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/EditTaskConfigurationDialog.java +++ b/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/EditTaskConfigurationDialog.java @@ -64,7 +64,7 @@ public class EditTaskConfigurationDialog extends BaseDialog { super(parentShell, "Edit task [" + task.getName() + "]", - task.getType().getIcon() == null ? DBIcon.TREE_PACKAGE : task.getType().getIcon()); + task.getType().getIcon() == null ? DBIcon.TREE_TASK: task.getType().getIcon()); this.task = (TaskImpl) task; this.project = task.getProject(); this.taskType = task.getType(); @@ -73,7 +73,7 @@ public class EditTaskConfigurationDialog extends BaseDialog public EditTaskConfigurationDialog(Shell parentShell, @NotNull DBPProject project, @NotNull DBTTaskType taskType) { - super(parentShell, "Create task", DBIcon.TREE_PACKAGE); + super(parentShell, "Create task", DBIcon.TREE_TASK); this.task = null; this.project = project; this.taskType = taskType; diff --git a/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/RecentTasksMenuContributor.java b/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/RecentTasksMenuContributor.java index 055b075e81e741074f69b5b79538227c0ff13832..63273420ed16218b0220e1cc3978c0e172c1b5f0 100644 --- a/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/RecentTasksMenuContributor.java +++ b/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/RecentTasksMenuContributor.java @@ -58,7 +58,7 @@ public class RecentTasksMenuContributor extends DataSourceMenuContributor for (int i = 0; i < tasks.length && i <= MAX_ITEMS; i++) { DBTTask task = tasks[i]; DBPImage taskIcon = task.getType().getIcon(); - if (taskIcon == null) taskIcon = DBIcon.TREE_PACKAGE; + if (taskIcon == null) taskIcon = DBIcon.TREE_TASK; menuItems.add(ActionUtils.makeActionContribution(new Action(task.getName(), DBeaverIcons.getImageDescriptor(taskIcon)) { @Override public void run() { diff --git a/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/TaskConfigurationWizard.java b/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/TaskConfigurationWizard.java index c48c6c5821586581d293a0e13201f27a763d742b..df9931a788d89c776ef80c58f3142475b24ebb1f 100644 --- a/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/TaskConfigurationWizard.java +++ b/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/TaskConfigurationWizard.java @@ -77,7 +77,8 @@ public abstract class TaskConfigurationWizard extends BaseWizard implements IWor protected void updateWizardTitle() { String wizTitle = getDefaultWindowTitle(); if (isTaskEditor()) { - wizTitle += " - [" + currentTask.getName() + "]"; + TaskConfigurationWizardPageTask taskPage = getContainer().getTaskPage(); + wizTitle += " - [" + (taskPage == null ? currentTask.getName() : taskPage.getTaskName()) + "]"; } setWindowTitle(wizTitle); } @@ -92,6 +93,7 @@ public abstract class TaskConfigurationWizard extends BaseWizard implements IWor updateWizardTitle(); setNeedsProgressMonitor(true); this.currentSelection = currentSelection; + getContainer().addPageChangedListener(event -> updateWizardTitle()); } @Override diff --git a/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/TaskConfigurationWizardPageTask.java b/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/TaskConfigurationWizardPageTask.java index 8bd87e94be39bd842e9bdf141d631b8ff7c824bc..ba4596329bac45e3fc6a5a0885ad3a65d9c16cf3 100644 --- a/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/TaskConfigurationWizardPageTask.java +++ b/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/TaskConfigurationWizardPageTask.java @@ -16,6 +16,8 @@ */ package org.jkiss.dbeaver.ui.task; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.SashForm; import org.eclipse.swt.events.ModifyListener; @@ -23,6 +25,8 @@ import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.*; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchWindow; import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.Log; import org.jkiss.dbeaver.model.DBIcon; @@ -250,7 +254,7 @@ class TaskConfigurationWizardPageTask extends ActiveWizardPage for (DBTTaskCategory cat : categories) { TreeItem item = parentItem == null ? new TreeItem(taskCategoryTree, SWT.NONE) : new TreeItem(parentItem, SWT.NONE); item.setText(cat.getName()); - item.setImage(DBeaverIcons.getImage(cat.getIcon() == null ? DBIcon.TREE_PACKAGE : cat.getIcon())); + item.setImage(DBeaverIcons.getImage(cat.getIcon() == null ? DBIcon.TREE_TASK : cat.getIcon())); item.setData(cat); addTaskCategories(item, cat.getChildren()); item.setExpanded(true); @@ -277,6 +281,12 @@ class TaskConfigurationWizardPageTask extends ActiveWizardPage task = (TaskImpl) selectedProject.getTaskManager().createTaskConfiguration(selectedTaskType, CommonUtils.notEmpty(taskName), taskDescription, new LinkedHashMap<>()); } realWizard = (TaskConfigurationWizard) configurator.createTaskConfigWizard(task); + IWorkbenchWindow workbenchWindow = UIUtils.getActiveWorkbenchWindow(); + IWorkbenchPart activePart = workbenchWindow.getActivePage().getActivePart(); + ISelection selection = activePart == null || activePart.getSite() == null || activePart.getSite().getSelectionProvider() == null ? + null : activePart.getSite().getSelectionProvider().getSelection(); + realWizard.setContainer(getContainer()); + realWizard.init(workbenchWindow.getWorkbench(), selection instanceof IStructuredSelection ? (IStructuredSelection) selection : null); taskConfigPanel.saveSettings(); taskWizards.put(selectedTaskType, realWizard); diff --git a/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/TaskHandlerRun.java b/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/TaskHandlerRun.java index dca25c7f3523fecb3f3bc46ba9c6dd26700ac189..33b5012565f3f8964f9faec1c16dba22a5f9720f 100644 --- a/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/TaskHandlerRun.java +++ b/plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/task/TaskHandlerRun.java @@ -77,7 +77,7 @@ public class TaskHandlerRun extends AbstractHandler implements IElementUpdater { DBTTask task = NavigatorUtils.getSelectedProject().getTaskManager().getTaskConfiguration(taskId); if (task != null) { DBPImage taskIcon = task.getType().getIcon(); - if (taskIcon == null) taskIcon = DBIcon.TREE_PACKAGE; + if (taskIcon == null) taskIcon = DBIcon.TREE_TASK; element.setIcon(DBeaverIcons.getImageDescriptor(taskIcon)); element.setText(task.getName()); }