@@ -11,29 +11,33 @@ import androidx.compose.ui.Modifier
1111import androidx.compose.ui.graphics.Color
1212import androidx.compose.ui.unit.dp
1313import androidx.compose.ui.window.Window
14+ import androidx.compose.ui.window.WindowState
1415import androidx.compose.ui.window.application
1516import androidx.compose.ui.window.rememberWindowState
1617import com.kdroid.composetray.tray.api.Tray
18+ import com.kdroid.composetray.utils.ComposeNativeTrayLoggingLevel
1719import com.kdroid.composetray.utils.SingleInstanceManager
20+ import com.kdroid.composetray.utils.allowComposeNativeTrayLogging
21+ import com.kdroid.composetray.utils.composeNativeTrayloggingLevel
1822import com.kdroid.composetray.utils.getTrayPosition
1923import com.kdroid.composetray.utils.getTrayWindowPosition
20- import com.kdroid.kmplog.Log
21- import com.kdroid.kmplog.d
22- import com.kdroid.kmplog.i
2324import composenativetray.demo.generated.resources.Res
2425import composenativetray.demo.generated.resources.icon
2526import org.jetbrains.compose.resources.painterResource
2627
2728fun main () = application {
28- Log .setDevelopmentMode(true )
29+ allowComposeNativeTrayLogging = false
30+ composeNativeTrayloggingLevel = ComposeNativeTrayLoggingLevel .DEBUG
2931 val logTag = " NativeTray"
30-
31- Log .d( " TrayPosition" , getTrayPosition().toString() )
32+
33+ println ( " $logTag : TrayPosition: ${ getTrayPosition()} " )
3234
3335 var isWindowVisible by remember { mutableStateOf(true ) }
3436 var textVisible by remember { mutableStateOf(false ) }
35- var alwaysShowTray by remember { mutableStateOf(false ) }
37+ var alwaysShowTray by remember { mutableStateOf(true ) }
3638 var hideOnClose by remember { mutableStateOf(true ) }
39+ var notificationsEnabled by remember { mutableStateOf(false ) }
40+ var initialChecked by remember { mutableStateOf(true ) }
3741
3842 val isSingleInstance = SingleInstanceManager .isSingleInstance(onRestoreRequest = {
3943 isWindowVisible = true
@@ -62,7 +66,7 @@ fun main() = application {
6266 },
6367 primaryAction = {
6468 isWindowVisible = true
65- Log .i( logTag, " On Primary Clicked" )
69+ println ( " $ logTag: On Primary Clicked" )
6670 },
6771 primaryActionLabel = " Open the Application" ,
6872 tooltip = " My Application"
@@ -71,46 +75,64 @@ fun main() = application {
7175 // Tools SubMenu
7276 SubMenu (label = " Tools" ) {
7377 Item (label = " Calculator" ) {
74- Log .i( logTag, " Calculator launched" )
78+ println ( " $ logTag: Calculator launched" )
7579 }
7680 Item (label = " Notepad" ) {
77- Log .i( logTag, " Notepad opened" )
81+ println ( " $ logTag: Notepad opened" )
7882 }
7983 }
8084
8185 Divider ()
8286
8387 // Checkable Items
84- CheckableItem (label = " Enable notifications" ) { isChecked ->
85- Log .i(logTag, " Notifications ${if (isChecked) " enabled" else " disabled" } " )
86- }
87- CheckableItem (label = " Initial Checked" , checked = true ) { isChecked ->
88- Log .i(logTag, " Initial Checked ${if (isChecked) " enabled" else " disabled" } " )
89- }
88+ CheckableItem (
89+ label = " Enable notifications" ,
90+ checked = notificationsEnabled,
91+ onCheckedChange = { isChecked ->
92+ notificationsEnabled = isChecked
93+ println (" $logTag : Notifications ${if (isChecked) " enabled" else " disabled" } " )
94+ }
95+ )
96+ CheckableItem (
97+ label = " Initial Checked" ,
98+ checked = initialChecked,
99+ onCheckedChange = { isChecked ->
100+ initialChecked = isChecked
101+ println (" $logTag : Initial Checked ${if (isChecked) " enabled" else " disabled" } " )
102+ }
103+ )
90104
91105 Divider ()
92106
93107 Item (label = " About" ) {
94- Log .i( logTag, " Application v1.0 - Developed by Elyahou" )
108+ println ( " $ logTag: Application v1.0 - Developed by Elyahou" )
95109 }
96110
97111 Divider ()
98112
99- CheckableItem (label = " Always show tray" , checked = alwaysShowTray) { isChecked ->
100- alwaysShowTray = isChecked
101- Log .i(logTag, " Always show tray ${if (isChecked) " enabled" else " disabled" } " )
102- }
103-
104- CheckableItem (label = " Hide on close" , checked = hideOnClose) { isChecked ->
105- hideOnClose = isChecked
106- Log .i(logTag, " Hide on close ${if (isChecked) " enabled" else " disabled" } " )
107- }
113+ CheckableItem (
114+ label = " Always show tray" ,
115+ checked = alwaysShowTray,
116+ onCheckedChange = { isChecked ->
117+ alwaysShowTray = isChecked
118+ println (" $logTag : Always show tray ${if (isChecked) " enabled" else " disabled" } " )
119+ }
120+ )
121+
122+ CheckableItem (
123+ label = " Hide on close" ,
124+ checked = hideOnClose,
125+ onCheckedChange = { isChecked ->
126+ hideOnClose = isChecked
127+ println (" $logTag : Hide on close ${if (isChecked) " enabled" else " disabled" } " )
128+ }
129+ )
108130
109131 Divider ()
110132
111133
112134 Item (label = " Exit" , isEnabled = true ) {
113- Log .i( logTag, " Exiting the application" )
135+ println ( " $ logTag: Exiting the application" )
114136 dispose()
115137 exitApplication()
116138 }
@@ -120,7 +142,7 @@ fun main() = application {
120142 }
121143
122144
123- val windowWidth = 800
145+ val windowWidth = 300
124146 val windowHeight = 600
125147 val windowPosition = getTrayWindowPosition(windowWidth, windowHeight)
126148
@@ -132,7 +154,7 @@ fun main() = application {
132154 exitApplication()
133155 }
134156 },
135- state = rememberWindowState (
157+ state = WindowState (
136158 width = windowWidth.dp,
137159 height = windowHeight.dp,
138160 position = windowPosition
@@ -146,4 +168,4 @@ fun main() = application {
146168 hideOnClose = hideOnCloseState
147169 }
148170 }
149- }
171+ }
0 commit comments