From d2043bee0bafd62d46f93377c54b5372ec35afeb Mon Sep 17 00:00:00 2001 From: Seil0 Date: Tue, 28 Mar 2017 17:40:01 +0200 Subject: [PATCH] reworked time played in total reworked time played in total, now better way wich helps with future features and improvements, cleaned up --- bin/application/MainWindow.fxml | 19 +-- bin/application/MainWindowController$1.class | Bin 2239 -> 2199 bytes bin/application/MainWindowController$2.class | Bin 3966 -> 3926 bytes bin/application/MainWindowController$3.class | Bin 4240 -> 4200 bytes bin/application/MainWindowController$4.class | Bin 4248 -> 4208 bytes bin/application/MainWindowController$5.class | Bin 1097 -> 1096 bytes bin/application/MainWindowController$6.class | Bin 1097 -> 1096 bytes bin/application/MainWindowController$7.class | Bin 4118 -> 4483 bytes bin/application/MainWindowController.class | Bin 25412 -> 26301 bytes bin/application/playGame.class | Bin 0 -> 3526 bytes .../icons/ic_add_circle_black_24dp_1x.png | Bin 0 -> 222 bytes .../icons/ic_add_circle_white_24dp_1x.png | Bin 0 -> 233 bytes .../icons/ic_cached_black_24dp_1x.png | Bin 0 -> 235 bytes .../icons/ic_cached_white_24dp_1x.png | Bin 0 -> 245 bytes bin/recources/icons/ic_info_black_24dp_1x.png | Bin 0 -> 222 bytes bin/recources/icons/ic_info_white_24dp_1x.png | Bin 0 -> 232 bytes .../icons/ic_settings_black_24dp_1x.png | Bin 0 -> 322 bytes .../icons/ic_settings_white_24dp_1x.png | Bin 0 -> 326 bytes src/application/MainWindow.fxml | 19 +-- src/application/MainWindowController.java | 128 +++++++++++------- src/application/playGame.java | 51 +++++++ .../icons/ic_add_circle_black_24dp_1x.png | Bin 0 -> 222 bytes .../icons/ic_add_circle_white_24dp_1x.png | Bin 0 -> 233 bytes .../icons/ic_cached_black_24dp_1x.png | Bin 0 -> 235 bytes .../icons/ic_cached_white_24dp_1x.png | Bin 0 -> 245 bytes src/recources/icons/ic_info_black_24dp_1x.png | Bin 0 -> 222 bytes src/recources/icons/ic_info_white_24dp_1x.png | Bin 0 -> 232 bytes .../icons/ic_settings_black_24dp_1x.png | Bin 0 -> 322 bytes .../icons/ic_settings_white_24dp_1x.png | Bin 0 -> 326 bytes 29 files changed, 148 insertions(+), 69 deletions(-) create mode 100644 bin/application/playGame.class create mode 100644 bin/recources/icons/ic_add_circle_black_24dp_1x.png create mode 100644 bin/recources/icons/ic_add_circle_white_24dp_1x.png create mode 100644 bin/recources/icons/ic_cached_black_24dp_1x.png create mode 100644 bin/recources/icons/ic_cached_white_24dp_1x.png create mode 100644 bin/recources/icons/ic_info_black_24dp_1x.png create mode 100644 bin/recources/icons/ic_info_white_24dp_1x.png create mode 100644 bin/recources/icons/ic_settings_black_24dp_1x.png create mode 100644 bin/recources/icons/ic_settings_white_24dp_1x.png create mode 100644 src/application/playGame.java create mode 100644 src/recources/icons/ic_add_circle_black_24dp_1x.png create mode 100644 src/recources/icons/ic_add_circle_white_24dp_1x.png create mode 100644 src/recources/icons/ic_cached_black_24dp_1x.png create mode 100644 src/recources/icons/ic_cached_white_24dp_1x.png create mode 100644 src/recources/icons/ic_info_black_24dp_1x.png create mode 100644 src/recources/icons/ic_info_white_24dp_1x.png create mode 100644 src/recources/icons/ic_settings_black_24dp_1x.png create mode 100644 src/recources/icons/ic_settings_white_24dp_1x.png diff --git a/bin/application/MainWindow.fxml b/bin/application/MainWindow.fxml index 21b7afd..467cc0b 100644 --- a/bin/application/MainWindow.fxml +++ b/bin/application/MainWindow.fxml @@ -30,21 +30,22 @@ - + - - - - - + - + + + + + + @@ -79,8 +80,8 @@ - + - + diff --git a/bin/application/MainWindowController$1.class b/bin/application/MainWindowController$1.class index e3a7ee55a67c0564810eed67a5108e4987abe711..4454c4bf0068c1c3dcaf0270c86cd6af11650695 100644 GIT binary patch delta 95 zcmV-l0HFWB5tk9LfCLl?03`rc3;Z%$&H#4+&j5M=&;Wt} I(v$iJoq&oRt^fc4 diff --git a/bin/application/MainWindowController$2.class b/bin/application/MainWindowController$2.class index 859db65157fdeea23f638f5322abac3eedef36ed..2789a7265f25345400c190c17a48fed0c73de5d8 100644 GIT binary patch delta 235 zcmWNIzbk}s9LHa8zC4e5?&4fY=_U*}D2|g-@~ey{jFiQ|U{MA(%QNWdQteTzHn(@_M~~Gv}Fu4VP}9gQ^@!1E zx7|WNX)W~?<*douQLpWLdG%S@TXT6a78i%1A2^k4D~NPt*~DzjFi}{)q>U>&xu%O7 z1}HPcE#urV&ppdLu)-s&Jh90$+q_WZl|9}#;hi%+xZpEBzhYCN%C~%e)Jj!Z{*)8y XSB(Z$t6?>g0w(Z4BQ%o+D<(_-l+i>f delta 253 zcmXwwzbk}s0EeH?^?mPs)13hWrJIgoP#o`drR2wzzW^h>lu>RV1KX`!-!fbV7PGQg zj8=G}h3Q~0@!xXqh=(`jkTT|2yPUb`o4%FnT)LLz&T&71kD8<3S zg?eUkaB!8IyNd&VfP<4fm)Gr8iF}9e%ciYS0j>L$(*`p6?cIIU;=Gt2l5VZ;6(*fx z!-JVZnbRxV-SmwaTAhmjlB$!ivYtm)%=5l6d`t?jyZw%<2m_8WP7eo4GSbxN+CqXl#EHh4)BsnJ7BE=5V&nts*0LSsqyB_w?^KA2D%#UVcv_&#zhH_92Y6l0|oTRmqQfem`yI3hD^;L?} z+R=r2{5<#v}Z+3WE7iJryos#d67VQo0dtAOn7VzE>%$5W<8!dzOvq`lLY zH^`bz-vjerz%E#{nH}evXXA5o&DY&z^F#Nm;>gCYH~~!(RE7>M)2UUuv_`k~38_Ml zs`ToZu+Hhz75#c-K(7qyorpdd(kD@U6Vo5VYA`}8qXZdag#GzcX-~~Urty)B5G$uK}OZZn0gskKT!=6Q<1nFCUnT8j+oLp z30;!ZJ=1z(MsK9_PFf#i^hs7f%<7LhYMG~j90M#6VUYv{vMiHll@-?5XPsj%(Wv&#c}JbIey|^eBqTYdvQW8g6vDw)Cd-ErnnX(PzDL2bOaYD~Q(V~r^UOXHU=zgqJO zJ>F97i_wdsM;ErAG@A_iykexvy%)9;fsWN4xMO`)qB0qf&7eAnshha^8B&adQY2Mo zSQSRJOG|e52p0Vw0@Y;AG3s*qn>%z7gF%q7Yw|(n4ghC@ B4!HmT delta 46 zcmX@Xagt-h97ZnA#N_1E;$js;gNgIhH=ki#$jDeVIgikhS0gaPy14#*x015$-01*L`lfeUs DX&?^W delta 46 zcmX@Xagt-h97ZnA#N_1E;$js;gNgIhH=ki#$jI0{Igic}yH-6#u<%XRl#ca4ob^SXK^UDa$2nYfvK1rj!b86OD=0s3W@q4c*nv2W{CaIFJh+mQl_(qebvPwoh8Wk+V5`tZAZ4E}F zg;mvtbh(0C(L76f1HqqgbVxp_hH#6xc=#Qb`TPkfK(+j$w2G>Dz4?MvOK3=0I>zs{ zm`L&^eT(>dYuIHM(Yb<6*i1;*I@ShPb*iyoV2KtYxSRP&tE;F^MmL^Tumz6@o3@~K z`@d!~9!0-`tr*}nw%USi1j)U&BV@xcL5_*zZE5ia0y0Lh!;0+&baz_5S;0>1;^Vfa z>vm(W6?+I*uTdXXD~$XV&EZzH)30hl1oOx^k2Y31|-U!OK) z`USsouX2_)a7(&NHhE!&6<|JIo_=P{1U4Q;@tvg;$ecizAoFze#?d#4h0Z}8h39cJZBXSFPj98tisBJA@Jz=~n{Lfy$KuYniY@|7k7OI|H%GDw{f1J3Pq~Ld0usPPDf# zS@uX8UF+}^jX7ww(2#MQVbxg6g~!byrk@Kwpx?FPQltN{o|P(HH|=+;MyQ{Iy)eyFV|9bG$ozEEIcRpu|pT1=#Am!(Y=Bd-L|zg%s#>H zFsr<&sXQLH>ES?#{rW_BY2YA-^v&>^2YcxYaag$jMelX5BDr;2qN1^_*=uR=k_m^; zIiedPi^4q|b2v`FZjG$Y8xW-2=1opI3~@@IkE~rd%t(loFf$XT#cSPCv8FYd*phhF z;WVSV+%BGXR&X1=_GI+s7Ox`_FN-GI;$BCXbNVHFLCJ(L{T?=5^p_6jxsX$IrBG}d zwPgN=G(G9?HQ(gWk519L>%Mkf>XgZkdY!W`@GHORznvSgy%d-UJBX39k1Sg8)ON*&^9)yoETnC+^MJ?aRP>L}OL zG5%4<1=TM>H6U|U=b%)nA*ofTq(S-ej2f1WDkaaW5qVpUO1~PD5p_<+)kLP>)!Cj- z_1kopi+qbnkUlPP*?hLS?B+YZCm>b4!4+d!Ts3LVB6Nqz+Pka@(IYbFp}&ab=hqjQ yk^PVz88MXE5Gg4g=LMf@x^8Ac>?eaLe&%{c-{2RcE%RV*a?4n@@l8Jgv;GCK8w>OR diff --git a/bin/application/MainWindowController.class b/bin/application/MainWindowController.class index 50bf5a06ada2ea25c8541b80e99d5c7bd3ceacd2..3e113d7df2d5496f32839a6faa4ede9f90aa65fa 100644 GIT binary patch literal 26301 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 Bd{F=Z diff --git a/bin/application/playGame.class b/bin/application/playGame.class new file mode 100644 index 0000000000000000000000000000000000000000..ad3ea266d713698be920edf20b2badc54e96f028 GIT binary patch literal 3526 zcma)83wsn-8GcW)WH!@D0!u<0TI&|MWD{U%QEFKVHi5w6hES4*f~cMBo=pa3XV#fn zNW4|?R;$+grQUBX^-?V@ERouJw~E;3(O==8(E6U;Np?n-*6fqnv)}oy@AsbX%(eeq zeHp-8@v4Rnfqt`EwXLEVSgw<;+UDXxvm!Ml1XiCm&zf1=bmp?t^PV(IRIZqobKG)D z?zu772|U-fr6;hV5Op%qMkgm=lxCwg>ti<2J?eJtu^cPdE3j`UrqQJKm(>4uSL=VPxP=yqSLIWH2RdSqx-J^vdstIVk~j~JL#Wu{oBV%LEMS*!(8Rhz_vByS_o zl!0lbl?>cwUaAQ*29D!lo+xHj6xi|xv5$IgQTl!^iIW1ok$M`%oWgrFygSy@(7?cZ z@d%MUXIjCyOU98S`BkJW|2qE_F0e;O8S@(E=)2X`36^2N!fAn3W!qKOiJ|?O{W@$o z8h9{oi?TdAEDX4)3iJ>cMNl4qMM;EXZC&os4G0rj4}k_UIzrOC6UaH~8K~hbv8_=tOsyLrx# zmW%>2VQs|cGMBkS^MT0DN@^VZJ&h_S%xZX1ByF=YTQWE9=;pzD(!e+IE%H%aq3ULd z5>ef2xo&(1-_!72PMiPTGw^-c z4(?gL%(km~2+pYM27cg~)d?BQyCq-860U0a72iWz?6I7)?iraaG&(>uoL;QTsQUlE*$nymw$a%T zdLA=vd&&xAuCEJMR-;$v3H_~sucNn5!*3`EWq&g848|$@BL$>F-f^TiW}Ch*eGS(H zHr)VXJ18_PzI3Tku3owLOmL?gD%o53>jX8FUf=K) z7{eo%x!8IcYc5jMfwg?5XaE>|_Nccxe)`Z)NxEr<0j%RMI>4sh9Sb2O2@`+ttjI(B>jx$Sm z-$2(RyEOHCKwH8&3g16GaupwGWPJhp?(V_vIzD=ll@8z)T*D{B@5hLYLT(hR`AiXu zL9D?Y+~wOQKa<4n7#nn+?}LwF6F!H{95!2cb~AX1?{u$VJFX*(fA9rOA$^Lt6S)xS zBqKeJ&k)xEYJZm29sIu^Pw<(bpJ99+UtlMm!+Ly?D~<6w@g;njd7Q_gaCM!e_zJ#C z&tIeO9Z38e$29CqyvDdm4MMHCLF-e%YdDC`Wg)lDcdhPFG;j8nu~n}Xh1lCm_{JrC zJ5k3ETNKi%0H)K+DW?iDn(EDh=!&N!bS0UV(%so~^^=ebVMiKdcy_t_zifr;jD_oM zFmr_HZpA%(5pIRt8DiLpOAOM1%c%2v9ak^W=4Jd2zi+JmfIqVff8m}wCV$1>@OKRU E7in>)Q~&?~ literal 0 HcmV?d00001 diff --git a/bin/recources/icons/ic_add_circle_black_24dp_1x.png b/bin/recources/icons/ic_add_circle_black_24dp_1x.png new file mode 100644 index 0000000000000000000000000000000000000000..ac376d05e3144898989d305f2adebbdfe5f7dfb1 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_+irJgR1Ar*{!&pDoIQIKhWC@x;L zf5DGMFMNyz&d7FI1u2@gujq}}X5|%StE#j9xnH3_xa3U6x$Ie;Vy;Kz<9oKx?TT*V zZ~Og~gXv!71eW=Rol`AVJb2&meUsuwD<2~RlZfIlgQS;h5{_EkO+3(goZs=@bg?y> z+7cUXtyyp^=*>w7<-!#PouU=LUi_Th(4nHwvfXRjgNR@O#Y~Av%XPXuS3Kmt@ptYJ WIlAVJ(_Ns089ZJ6T-G@yGywpV!dJKe literal 0 HcmV?d00001 diff --git a/bin/recources/icons/ic_add_circle_white_24dp_1x.png b/bin/recources/icons/ic_add_circle_white_24dp_1x.png new file mode 100644 index 0000000000000000000000000000000000000000..9121d99bfc56e57e6893461ec734b9038d1b0a43 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_+i4W2HJAr*{!FF9tl8i=?(e4ubM z-Z4<*`WG&z?+ac`nzA6a#m{f=cU>)cK|x{>L!S zRqE{ZvOm2yk0vz^VsO6PPURoM$=X74qx0-unS=1-L8VSO74nspk-e}kVWBeD%d~pR@4V;x z3*iZ+Z=n($RKE4{aB1mQYwaBVi=DB7LQCJL*IfT4wmQvsXP3r}jOxV&#&>YkA}S2- z;`NA#B7MdW#J<_svpdA9*ZZIj{*PG>dGqB%p)@oR@l*fa v1%I)*`PtDdgNG1;uDL(a-paJ`?hmCCipAgL0Gkm|00000NkvXXu0mjfX}xgm literal 0 HcmV?d00001 diff --git a/bin/recources/icons/ic_info_black_24dp_1x.png b/bin/recources/icons/ic_info_black_24dp_1x.png new file mode 100644 index 0000000000000000000000000000000000000000..5ef3dc0809e2030ac573605e4d50a1b15be283f3 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_+irJgR1Ar*{!&pBo_7znsMbQe4M zmu2aqie+Lg_Z%-OYdThQ-1WK3yF`&wq~^cgljetCWtg?+{hpb=@c6_R&GITYJe^Gr zn+wS+w{7@Qu3Fze@l2LUOog?>hoS^g9uF~&xlN*)H`W{wZ;U+{TXN|u|AX!W%Mvu1 zCO7Tl*uo`~E>@u<#XBj|^}>ul|6C>19PJEUR$ER;nAhbpt#9Vs*Ef&3bU%Gs$9S4s WW8+=f3r;`>GkCiCxvXP)OAoLE39!Uw>L+Iu;o04g?CLr|vTR#{u>fe!2GoabbG(8mw zN=_k{^TKT*I|dO?e$^1|f%~~bT#(}{l_1&OuFSrhi7lwX3!t=MAf(O$O-PdkThK}C z1)zh#Xh9zYS_`TmP{<#*c!3r_&Md>%&3$|gXFU#{_X)Yn=Pj2qMBk5xfCCJ%}fHzV<>iUk{yCv=|P(yFM9CIKrv6;vdj!^e)OQ=oM~3L z3Hov zYMc*TMS6^4Y*s#v8YK}AT(ig&XB4{J=afm7xZ$2C{CQWp)PoCx)G7YcXPY7T1DnU) UWG_v5V*mgE07*qoM6N<$f<$+V!T>O6 zS70QgNAU8v+(?*#6#o9*V@~mgC;x#Rf^DRK!rxsIH1Y+{1W$v50*~CV#54`Q2vW|N zVwqbWh7Wvdgwql&RGT?0V4Y7)9ZgCcW4f$baDbN(6Vt-m zvtW!jvUC`+K-kE98fAa!h - + - - - - - + - + + + + + + @@ -79,8 +80,8 @@ - + - + diff --git a/src/application/MainWindowController.java b/src/application/MainWindowController.java index db0e640..cf73784 100644 --- a/src/application/MainWindowController.java +++ b/src/application/MainWindowController.java @@ -8,6 +8,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.math.BigInteger; import java.sql.SQLException; import java.time.LocalDate; import java.time.format.DateTimeFormatter; @@ -24,7 +25,6 @@ import com.jfoenix.controls.JFXHamburger; import com.jfoenix.controls.JFXTextField; import com.jfoenix.controls.JFXToggleButton; import com.jfoenix.transitions.hamburger.HamburgerBackArrowBasicTransition; - import javafx.animation.FadeTransition; import javafx.animation.ParallelTransition; import javafx.animation.TranslateTransition; @@ -78,7 +78,7 @@ public class MainWindowController { private JFXButton playBtn; @FXML - private JFXButton timePlayedBtn; + JFXButton timePlayedBtn; @FXML private JFXButton lastTimePlayedBtn; @@ -113,7 +113,9 @@ public class MainWindowController { @FXML private HBox topHBox; - private Main main; + Main main; + dbController dbController; + playGame playGame; private boolean menuTrue = false; private boolean settingsTrue = false; private boolean playTrue = false; @@ -146,22 +148,29 @@ public class MainWindowController { private MenuItem addDLC = new MenuItem("add DLC"); private ContextMenu gameContextMenu = new ContextMenu(edit, remove, update, addDLC); private MouseEvent selectedEvent; - private Label lastGameLabel = new Label(); - dbController dbController; + private ImageView add_circle_black = new ImageView(new Image("recources/icons/ic_add_circle_black_24dp_1x.png")); + private ImageView info_black = new ImageView(new Image("recources/icons/ic_info_black_24dp_1x.png")); + private ImageView settings_black = new ImageView(new Image("recources/icons/ic_settings_black_24dp_1x.png")); + private ImageView cached_black = new ImageView(new Image("recources/icons/ic_cached_black_24dp_1x.png")); + + private ImageView add_circle_white = new ImageView(new Image("recources/icons/ic_add_circle_white_24dp_1x.png")); + private ImageView info_white = new ImageView(new Image("recources/icons/ic_info_white_24dp_1x.png")); + private ImageView settings_white = new ImageView(new Image("recources/icons/ic_settings_white_24dp_1x.png")); + private ImageView cached_white = new ImageView(new Image("recources/icons/ic_cached_white_24dp_1x.png")); public void setMain(Main main) { this.main = main; dbController = new dbController(this); } - void initUI(){ + void initUI(){ cemuTextField.setText(cemuPath); romTextField.setText(romPath); colorPicker.setValue(Color.valueOf(getColor())); fullscreenToggleBtn.setSelected(isFullscreen()); - edit.setDisable(true); + edit.setDisable(true); applyColor(); } @@ -220,6 +229,7 @@ public class MainWindowController { alert.setTitle("remove"); alert.setHeaderText("cemu_UI"); alert.setContentText("please select a game, \""+selectedGameTitleID+"\" is not a valid type"); + alert.initOwner(main.primaryStage); alert.showAndWait(); } @@ -433,34 +443,9 @@ public class MainWindowController { @FXML void playBtnAction(ActionEvent event) throws InterruptedException, IOException{ dbController.setLastPlayed(selectedGameTitleID); - long startTime; - long endTime; - int timePlayedNow; - int timePlayed; - Process p; + playGame = new playGame(this,dbController); - main.primaryStage.setIconified(true); - startTime = System.currentTimeMillis(); - try{ - - if(fullscreen){ - p = Runtime.getRuntime().exec(getCemuPath()+"\\Cemu.exe -f -g \""+gameExecutePath+"\""); - }else{ - p = Runtime.getRuntime().exec(getCemuPath()+"\\Cemu.exe -g \""+gameExecutePath+"\""); - } - - p.waitFor(); - endTime = System.currentTimeMillis(); - timePlayedNow = (int) Math.floor(((endTime - startTime)/1000/60)); - timePlayed = Integer.parseInt(dbController.getTimePlayed(selectedGameTitleID))+timePlayedNow; - - dbController.setTimePlayed(Integer.toString(timePlayed), selectedGameTitleID); - timePlayedBtn.setText(dbController.getTimePlayed(selectedGameTitleID)+ " min"); - main.primaryStage.setIconified(false); - - } catch (IOException e) { - e.printStackTrace(); - } + playGame.start(); } @FXML @@ -696,7 +681,13 @@ public class MainWindowController { }else{ lastTimePlayedBtn.setText("Last played, "+dbController.getLastPlayed(titleID)); } + if(Integer.parseInt(dbController.getTimePlayed(titleID)) > 60){ + int hoursPlayed = (int) Math.floor(Integer.parseInt(dbController.getTimePlayed(titleID))/60); + int minutesPlayed = Integer.parseInt(dbController.getTimePlayed(titleID))-60*hoursPlayed; + timePlayedBtn.setText(hoursPlayed+"h "+minutesPlayed+"min"); + }else{ timePlayedBtn.setText(dbController.getTimePlayed(titleID)+ " min"); + } } if(playTrue == false){ @@ -725,32 +716,51 @@ public class MainWindowController { } private void applyColor(){ - String style = "-fx-background-color: #"+getColor()+";"; + String boxStyle = "-fx-background-color: #"+getColor()+";"; String btnStyleBlack = "-fx-button-type: RAISED; -fx-background-color: #"+getColor()+"; -fx-text-fill: BLACK;"; - String timeBtnStyle = "-fx-button-type: RAISED; -fx-background-color: #ffffff; -fx-text-fill: BLACK;"; + String btnStyleWhite = "-fx-button-type: RAISED; -fx-background-color: #"+getColor()+"; -fx-text-fill: WHITE;"; + BigInteger icolor = new BigInteger(getColor(),16); + BigInteger ccolor = new BigInteger("78909cff",16); getColor(); - sideMenuVBox.setStyle(style); - topHBox.setStyle(style); + sideMenuVBox.setStyle(boxStyle); + topHBox.setStyle(boxStyle); cemuTextField.setFocusColor(Color.valueOf(getColor())); romTextField.setFocusColor(Color.valueOf(getColor())); - aboutBtn.setStyle("-fx-text-fill: BLACK;"); - settingsBtn.setStyle("-fx-text-fill: BLACK;"); - addBtn.setStyle("-fx-text-fill: BLACK;"); - reloadRomsBtn.setStyle("-fx-text-fill: BLACK;"); - playBtn.setStyle("-fx-text-fill: BLACK;"); - cemuTFBtn.setStyle(btnStyleBlack); - romTFBtn.setStyle(btnStyleBlack); - playBtn.setStyle(btnStyleBlack); - - + if(icolor.compareTo(ccolor) == -1){ + aboutBtn.setStyle("-fx-text-fill: WHITE;"); + settingsBtn.setStyle("-fx-text-fill: WHITE;"); + addBtn.setStyle("-fx-text-fill: WHITE;"); + reloadRomsBtn.setStyle("-fx-text-fill: WHITE;"); + playBtn.setStyle("-fx-text-fill: WHITE; -fx-font-family: Roboto Medium;"); + cemuTFBtn.setStyle(btnStyleWhite); + romTFBtn.setStyle(btnStyleWhite); + playBtn.setStyle(btnStyleWhite); + + aboutBtn.setGraphic(info_white); + settingsBtn.setGraphic(settings_white); + addBtn.setGraphic(add_circle_white); + reloadRomsBtn.setGraphic(cached_white); + }else{ + aboutBtn.setStyle("-fx-text-fill: BLACK;"); + settingsBtn.setStyle("-fx-text-fill: BLACK;"); + addBtn.setStyle("-fx-text-fill: BLACK;"); + reloadRomsBtn.setStyle("-fx-text-fill: BLACK;"); + playBtn.setStyle("-fx-text-fill: BLACK; -fx-font-family: Roboto Medium;"); + cemuTFBtn.setStyle(btnStyleBlack); + romTFBtn.setStyle(btnStyleBlack); + playBtn.setStyle(btnStyleBlack); + + aboutBtn.setGraphic(info_black); + settingsBtn.setGraphic(settings_black); + addBtn.setGraphic(add_circle_black); + reloadRomsBtn.setGraphic(cached_black); + } + for(int i=0; i { + mainWindowController.main.primaryStage.setIconified(true); + }); + startTime = System.currentTimeMillis(); + try{ + if(mainWindowController.isFullscreen()){ + p = Runtime.getRuntime().exec(mainWindowController.getCemuPath()+"\\Cemu.exe -f -g \""+mainWindowController.getGameExecutePath()+"\""); + }else{ + p = Runtime.getRuntime().exec(mainWindowController.getCemuPath()+"\\Cemu.exe -g \""+mainWindowController.getGameExecutePath()+"\""); + } + + p.waitFor(); + endTime = System.currentTimeMillis(); + timePlayedNow = (int) Math.floor(((endTime - startTime)/1000/60)); + timePlayed = Integer.parseInt(dbController.getTimePlayed(selectedGameTitleID))+timePlayedNow; + + dbController.setTimePlayed(Integer.toString(timePlayed), selectedGameTitleID); + Platform.runLater(() -> { + mainWindowController.timePlayedBtn.setText(dbController.getTimePlayed(selectedGameTitleID)+ " min"); + mainWindowController.main.primaryStage.setIconified(false); + }); + }catch (IOException | InterruptedException e){ + e.printStackTrace(); + } + } + +} diff --git a/src/recources/icons/ic_add_circle_black_24dp_1x.png b/src/recources/icons/ic_add_circle_black_24dp_1x.png new file mode 100644 index 0000000000000000000000000000000000000000..ac376d05e3144898989d305f2adebbdfe5f7dfb1 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_+irJgR1Ar*{!&pDoIQIKhWC@x;L zf5DGMFMNyz&d7FI1u2@gujq}}X5|%StE#j9xnH3_xa3U6x$Ie;Vy;Kz<9oKx?TT*V zZ~Og~gXv!71eW=Rol`AVJb2&meUsuwD<2~RlZfIlgQS;h5{_EkO+3(goZs=@bg?y> z+7cUXtyyp^=*>w7<-!#PouU=LUi_Th(4nHwvfXRjgNR@O#Y~Av%XPXuS3Kmt@ptYJ WIlAVJ(_Ns089ZJ6T-G@yGywpV!dJKe literal 0 HcmV?d00001 diff --git a/src/recources/icons/ic_add_circle_white_24dp_1x.png b/src/recources/icons/ic_add_circle_white_24dp_1x.png new file mode 100644 index 0000000000000000000000000000000000000000..9121d99bfc56e57e6893461ec734b9038d1b0a43 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_+i4W2HJAr*{!FF9tl8i=?(e4ubM z-Z4<*`WG&z?+ac`nzA6a#m{f=cU>)cK|x{>L!S zRqE{ZvOm2yk0vz^VsO6PPURoM$=X74qx0-unS=1-L8VSO74nspk-e}kVWBeD%d~pR@4V;x z3*iZ+Z=n($RKE4{aB1mQYwaBVi=DB7LQCJL*IfT4wmQvsXP3r}jOxV&#&>YkA}S2- z;`NA#B7MdW#J<_svpdA9*ZZIj{*PG>dGqB%p)@oR@l*fa v1%I)*`PtDdgNG1;uDL(a-paJ`?hmCCipAgL0Gkm|00000NkvXXu0mjfX}xgm literal 0 HcmV?d00001 diff --git a/src/recources/icons/ic_info_black_24dp_1x.png b/src/recources/icons/ic_info_black_24dp_1x.png new file mode 100644 index 0000000000000000000000000000000000000000..5ef3dc0809e2030ac573605e4d50a1b15be283f3 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_+irJgR1Ar*{!&pBo_7znsMbQe4M zmu2aqie+Lg_Z%-OYdThQ-1WK3yF`&wq~^cgljetCWtg?+{hpb=@c6_R&GITYJe^Gr zn+wS+w{7@Qu3Fze@l2LUOog?>hoS^g9uF~&xlN*)H`W{wZ;U+{TXN|u|AX!W%Mvu1 zCO7Tl*uo`~E>@u<#XBj|^}>ul|6C>19PJEUR$ER;nAhbpt#9Vs*Ef&3bU%Gs$9S4s WW8+=f3r;`>GkCiCxvXP)OAoLE39!Uw>L+Iu;o04g?CLr|vTR#{u>fe!2GoabbG(8mw zN=_k{^TKT*I|dO?e$^1|f%~~bT#(}{l_1&OuFSrhi7lwX3!t=MAf(O$O-PdkThK}C z1)zh#Xh9zYS_`TmP{<#*c!3r_&Md>%&3$|gXFU#{_X)Yn=Pj2qMBk5xfCCJ%}fHzV<>iUk{yCv=|P(yFM9CIKrv6;vdj!^e)OQ=oM~3L z3Hov zYMc*TMS6^4Y*s#v8YK}AT(ig&XB4{J=afm7xZ$2C{CQWp)PoCx)G7YcXPY7T1DnU) UWG_v5V*mgE07*qoM6N<$f<$+V!T>O6 zS70QgNAU8v+(?*#6#o9*V@~mgC;x#Rf^DRK!rxsIH1Y+{1W$v50*~CV#54`Q2vW|N zVwqbWh7Wvdgwql&RGT?0V4Y7)9ZgCcW4f$baDbN(6Vt-m zvtW!jvUC`+K-kE98fAa!h