Drew Short 10 years ago
parent
commit
8cdb925a2a
  1. 2
      engine/src/main/scala/com/sothr/imagetools/engine/Engine.scala
  2. 2
      engine/src/main/scala/com/sothr/imagetools/engine/util/PropertiesService.scala
  3. 1
      gui/src/main/java/com/sothr/imagetools/ui/App.java
  4. 4
      gui/src/main/resources/fxml/mainapp/MainApp.fxml
  5. 11
      gui/src/main/scala/com/sothr/imagetools/ui/component/ImageTile.scala
  6. 9
      gui/src/main/scala/com/sothr/imagetools/ui/component/ImageTilePane.scala
  7. 4
      gui/src/main/scala/com/sothr/imagetools/ui/controller/AppController.scala
  8. 11
      gui/src/main/scala/com/sothr/imagetools/ui/util/FileUtil.scala

2
engine/src/main/scala/com/sothr/imagetools/engine/Engine.scala

@ -3,7 +3,7 @@ package com.sothr.imagetools.engine
import java.io.File import java.io.File
import akka.actor._ 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 com.sothr.imagetools.engine.util.DirectoryFilter
import grizzled.slf4j.Logging import grizzled.slf4j.Logging

2
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.io.{File, FileOutputStream, PrintStream}
import java.util.Properties import java.util.Properties
import com.typesafe.config.{ConfigRenderOptions, Config, ConfigFactory}
import com.typesafe.config.{Config, ConfigFactory, ConfigRenderOptions}
import grizzled.slf4j.Logging import grizzled.slf4j.Logging
/* /*

1
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.AppConfig;
import com.sothr.imagetools.engine.errors.ImageToolsException; import com.sothr.imagetools.engine.errors.ImageToolsException;
import com.sothr.imagetools.engine.util.ResourceLoader; import com.sothr.imagetools.engine.util.ResourceLoader;
import com.sothr.imagetools.ui.controller.AppController;
import javafx.application.Application; import javafx.application.Application;
import javafx.fxml.FXMLLoader; import javafx.fxml.FXMLLoader;
import javafx.fxml.JavaFXBuilderFactory; import javafx.fxml.JavaFXBuilderFactory;

4
gui/src/main/resources/fxml/mainapp/MainApp.fxml

@ -2,14 +2,10 @@
<!--suppress ALL --> <!--suppress ALL -->
<?import javafx.scene.effect.*?>
<?import java.lang.*?>
<?import javafx.scene.text.*?>
<?import javafx.geometry.*?> <?import javafx.geometry.*?>
<?import javafx.scene.control.*?> <?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?> <?import javafx.scene.layout.*?>
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<AnchorPane fx:id="rootPane" minHeight="600.0" minWidth="1024.0" prefHeight="600.0" prefWidth="1024.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.sothr.imagetools.ui.controller.AppController"> <AnchorPane fx:id="rootPane" minHeight="600.0" minWidth="1024.0" prefHeight="600.0" prefWidth="1024.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.sothr.imagetools.ui.controller.AppController">
<children> <children>
<MenuBar fx:id="rootMenuBar" minWidth="-Infinity" prefHeight="30.0" prefWidth="600.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> <MenuBar fx:id="rootMenuBar" minWidth="-Infinity" prefHeight="30.0" prefWidth="600.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">

11
gui/src/main/scala/com/sothr/imagetools/ui/component/ImageTile.scala

@ -1,12 +1,11 @@
package com.sothr.imagetools.ui.component package com.sothr.imagetools.ui.component
import java.awt.Desktop
import java.io.{File, FileInputStream} 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 javafx.scene.layout.VBox
import com.sothr.imagetools.ui.util.FileUtil import com.sothr.imagetools.ui.util.FileUtil

9
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.collections.{ModifiableObservableListBase, ObservableList}
import javafx.event.{ActionEvent, EventHandler} import javafx.event.{ActionEvent, EventHandler}
import javafx.geometry.Side 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.input.ContextMenuEvent
import javafx.scene.layout._ import javafx.scene.layout._
import javafx.scene.paint.Color 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.engine.AppConfig
import com.sothr.imagetools.ui.controller.AppController import com.sothr.imagetools.ui.controller.AppController
import grizzled.slf4j.Logging import grizzled.slf4j.Logging
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent._
import scala.util.{Failure, Success} import scala.util.{Failure, Success}
/** /**

4
gui/src/main/scala/com/sothr/imagetools/ui/controller/AppController.scala

@ -15,9 +15,9 @@ import javafx.util.Callback
import akka.actor._ import akka.actor._
import com.sothr.imagetools.engine._ 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.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 grizzled.slf4j.Logging
import org.markdown4j.Markdown4jProcessor import org.markdown4j.Markdown4jProcessor

11
gui/src/main/scala/com/sothr/imagetools/ui/util/FileUtil.scala

@ -14,8 +14,17 @@ object FileUtil extends Logging {
def openInEditor(file: File) = { def openInEditor(file: File) = {
PropertiesService.OS.toLowerCase match { PropertiesService.OS.toLowerCase match {
// Open file on windows // Open file on windows
case os if os.startsWith("windows") => Desktop.getDesktop.open(file)
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}") 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}")
}
} }
Loading…
Cancel
Save