From 76a7f4622905ee440d0aab569df370bbc5130b7a Mon Sep 17 00:00:00 2001 From: Drew Short Date: Mon, 1 Sep 2014 10:14:01 -0500 Subject: [PATCH] Optimized the imports across the project. Abstracted some of the file opening logic out in the event that different flavors of linux don't want to work with the file opening --- .../scala/com/sothr/imagetools/engine/Engine.scala | 2 +- .../imagetools/engine/util/PropertiesService.scala | 2 +- gui/src/main/java/com/sothr/imagetools/ui/App.java | 1 - gui/src/main/resources/fxml/mainapp/MainApp.fxml | 4 ---- .../sothr/imagetools/ui/component/ImageTile.scala | 11 +++++------ .../imagetools/ui/component/ImageTilePane.scala | 9 ++++----- .../imagetools/ui/controller/AppController.scala | 4 ++-- .../com/sothr/imagetools/ui/util/FileUtil.scala | 12 ++++++++++-- 8 files changed, 23 insertions(+), 22 deletions(-) diff --git a/engine/src/main/scala/com/sothr/imagetools/engine/Engine.scala b/engine/src/main/scala/com/sothr/imagetools/engine/Engine.scala index a28a35b..086634d 100644 --- a/engine/src/main/scala/com/sothr/imagetools/engine/Engine.scala +++ b/engine/src/main/scala/com/sothr/imagetools/engine/Engine.scala @@ -3,7 +3,7 @@ package com.sothr.imagetools.engine import java.io.File import akka.actor._ -import com.sothr.imagetools.engine.image.{ImageService, Image, ImageFilter, SimilarImages} +import com.sothr.imagetools.engine.image.{Image, ImageFilter, ImageService, SimilarImages} import com.sothr.imagetools.engine.util.DirectoryFilter import grizzled.slf4j.Logging diff --git a/engine/src/main/scala/com/sothr/imagetools/engine/util/PropertiesService.scala b/engine/src/main/scala/com/sothr/imagetools/engine/util/PropertiesService.scala index d4372b5..ff7fece 100644 --- a/engine/src/main/scala/com/sothr/imagetools/engine/util/PropertiesService.scala +++ b/engine/src/main/scala/com/sothr/imagetools/engine/util/PropertiesService.scala @@ -3,7 +3,7 @@ package com.sothr.imagetools.engine.util import java.io.{File, FileOutputStream, PrintStream} import java.util.Properties -import com.typesafe.config.{ConfigRenderOptions, Config, ConfigFactory} +import com.typesafe.config.{Config, ConfigFactory, ConfigRenderOptions} import grizzled.slf4j.Logging /* diff --git a/gui/src/main/java/com/sothr/imagetools/ui/App.java b/gui/src/main/java/com/sothr/imagetools/ui/App.java index 363570e..97774e8 100644 --- a/gui/src/main/java/com/sothr/imagetools/ui/App.java +++ b/gui/src/main/java/com/sothr/imagetools/ui/App.java @@ -3,7 +3,6 @@ package com.sothr.imagetools.ui; import com.sothr.imagetools.engine.AppConfig; import com.sothr.imagetools.engine.errors.ImageToolsException; import com.sothr.imagetools.engine.util.ResourceLoader; -import com.sothr.imagetools.ui.controller.AppController; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.fxml.JavaFXBuilderFactory; diff --git a/gui/src/main/resources/fxml/mainapp/MainApp.fxml b/gui/src/main/resources/fxml/mainapp/MainApp.fxml index f7ef02c..13703f0 100644 --- a/gui/src/main/resources/fxml/mainapp/MainApp.fxml +++ b/gui/src/main/resources/fxml/mainapp/MainApp.fxml @@ -2,14 +2,10 @@ - - - - diff --git a/gui/src/main/scala/com/sothr/imagetools/ui/component/ImageTile.scala b/gui/src/main/scala/com/sothr/imagetools/ui/component/ImageTile.scala index ae8a02d..3f1c41f 100644 --- a/gui/src/main/scala/com/sothr/imagetools/ui/component/ImageTile.scala +++ b/gui/src/main/scala/com/sothr/imagetools/ui/component/ImageTile.scala @@ -1,12 +1,11 @@ package com.sothr.imagetools.ui.component -import java.awt.Desktop import java.io.{File, FileInputStream} -import javafx.event.{EventType, EventHandler} -import javafx.geometry.{Orientation, Insets, Pos} -import javafx.scene.control.{Separator, Tooltip, Label} -import javafx.scene.image.{ImageView} -import javafx.scene.input.{PickResult, ContextMenuEvent, MouseEvent} +import javafx.event.EventHandler +import javafx.geometry.{Orientation, Pos} +import javafx.scene.control.{Label, Separator, Tooltip} +import javafx.scene.image.ImageView +import javafx.scene.input.{ContextMenuEvent, MouseEvent, PickResult} import javafx.scene.layout.VBox import com.sothr.imagetools.ui.util.FileUtil diff --git a/gui/src/main/scala/com/sothr/imagetools/ui/component/ImageTilePane.scala b/gui/src/main/scala/com/sothr/imagetools/ui/component/ImageTilePane.scala index 6d549b4..04afc5e 100644 --- a/gui/src/main/scala/com/sothr/imagetools/ui/component/ImageTilePane.scala +++ b/gui/src/main/scala/com/sothr/imagetools/ui/component/ImageTilePane.scala @@ -5,19 +5,18 @@ import javafx.application.Platform import javafx.collections.{ModifiableObservableListBase, ObservableList} import javafx.event.{ActionEvent, EventHandler} import javafx.geometry.Side -import javafx.scene.control.{MenuItem, ContextMenu, MultipleSelectionModel} +import javafx.scene.Node +import javafx.scene.control.{ContextMenu, MenuItem, MultipleSelectionModel} import javafx.scene.input.ContextMenuEvent import javafx.scene.layout._ import javafx.scene.paint.Color -import javafx.scene.Node - -import scala.concurrent._ -import ExecutionContext.Implicits.global import com.sothr.imagetools.engine.AppConfig import com.sothr.imagetools.ui.controller.AppController import grizzled.slf4j.Logging +import scala.concurrent.ExecutionContext.Implicits.global +import scala.concurrent._ import scala.util.{Failure, Success} /** diff --git a/gui/src/main/scala/com/sothr/imagetools/ui/controller/AppController.scala b/gui/src/main/scala/com/sothr/imagetools/ui/controller/AppController.scala index b973e22..1986d67 100644 --- a/gui/src/main/scala/com/sothr/imagetools/ui/controller/AppController.scala +++ b/gui/src/main/scala/com/sothr/imagetools/ui/controller/AppController.scala @@ -15,9 +15,9 @@ import javafx.util.Callback import akka.actor._ import com.sothr.imagetools.engine._ -import com.sothr.imagetools.engine.image.{Image, SimilarImages} +import com.sothr.imagetools.engine.image.Image import com.sothr.imagetools.engine.util.{PropertiesService, ResourceLoader} -import com.sothr.imagetools.ui.component.{ImageTilePane, ImageTileFactory} +import com.sothr.imagetools.ui.component.{ImageTileFactory, ImageTilePane} import grizzled.slf4j.Logging import org.markdown4j.Markdown4jProcessor diff --git a/gui/src/main/scala/com/sothr/imagetools/ui/util/FileUtil.scala b/gui/src/main/scala/com/sothr/imagetools/ui/util/FileUtil.scala index 3fb9f30..07fedc8 100644 --- a/gui/src/main/scala/com/sothr/imagetools/ui/util/FileUtil.scala +++ b/gui/src/main/scala/com/sothr/imagetools/ui/util/FileUtil.scala @@ -14,9 +14,17 @@ object FileUtil extends Logging { def openInEditor(file: File) = { PropertiesService.OS.toLowerCase match { // Open file on windows - case os if os.startsWith("windows") => Desktop.getDesktop.open(file) - case os if os.startsWith("linux") => Runtime.getRuntime.exec(s"xdg-open ${file.getAbsolutePath}") + case os if os.startsWith("windows") => openFileWindows(file) + case os if os.startsWith("linux") => openFileLinux(file) case default => error(s"Do not know how to open editor for OS: ${PropertiesService.OS}, ${PropertiesService.OS_VERSION}, ${PropertiesService.OS_ARCH}") } } + + private def openFileWindows(file: File) = { + Desktop.getDesktop.open(file) + } + + private def openFileLinux(file: File) = { + Runtime.getRuntime.exec(s"xdg-open ${file.getAbsolutePath}") + } }