Skip to content

Commit 3ce2cd6

Browse files
authored
Merge pull request #183 from yusufziyayerebakan/feature/add-option-to-hide-statusbar
New option checkbox added to settings form to hide the status bar.
2 parents 899d855 + 5eb228c commit 3ce2cd6

9 files changed

Lines changed: 102 additions & 36 deletions

Dev14/Forms/SettingsForm.Designer.cs

Lines changed: 18 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Dev14/Forms/SettingsForm.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ private void SettingsForm_Load(object sender, EventArgs e)
2525
txtAPIKey.Text = _configFile.GetSetting("api_key");
2626
txtProxy.Text = _configFile.GetSetting("proxy");
2727
chkDebugMode.Checked = _configFile.GetSettingAsBoolean("debug");
28+
chkStatusBarEnabled.Checked = _configFile.GetSettingAsBoolean("status_bar_enabled", true);
2829
}
2930
catch (Exception ex)
3031
{
@@ -45,6 +46,7 @@ private void BtnOk_Click(object sender, EventArgs e)
4546
_configFile.SaveSetting("settings", "api_key", txtAPIKey.Text.Trim());
4647
_configFile.SaveSetting("settings", "proxy", txtProxy.Text.Trim());
4748
_configFile.SaveSetting("settings", "debug", chkDebugMode.Checked.ToString().ToLower());
49+
_configFile.SaveSetting("settings", "status_bar_enabled", chkStatusBarEnabled.Checked.ToString().ToLower());
4850
}
4951
else
5052
{

Dev14/WakaTimePackage.cs

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -103,16 +103,23 @@ private async Task InitializeAsync(CancellationToken cancellationToken)
103103
// Do any initialization that requires the UI thread after switching to the UI thread.
104104
await JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken);
105105

106-
// Inject control to status bar
107-
_statusbarControl = new StatusbarControl();
108-
_statusbarControl.SetText("Initializing...");
109-
_statusbarControl.SetToolTip("WakaTime: Initializing...");
110-
await StatusbarInjector.InjectControlAsync(_statusbarControl);
106+
// Initialize status bar if enabled
107+
if (_wakatime.Config.GetSettingAsBoolean("status_bar_enabled", true))
108+
{
109+
// Inject control to status bar
110+
_statusbarControl = new StatusbarControl();
111+
_statusbarControl.SetText("Initializing...");
112+
_statusbarControl.SetToolTip("WakaTime: Initializing...");
113+
await StatusbarInjector.InjectControlAsync(_statusbarControl);
114+
}
111115

112116
// Wait for _wakatime to complete initialization,and display today's coding time on status bar
113117
await wakaTimeInitializationTask;
114-
UpdateTimeOnStatusbarControl(_wakatime.TotalTimeToday, _wakatime.TotalTimeTodayDetailed);
115-
_wakatime.TotalTimeTodayUpdated += WakatimeTotalTimeTodayUpdated;
118+
if (_statusbarControl != null)
119+
{
120+
UpdateTimeOnStatusbarControl(_wakatime.TotalTimeToday, _wakatime.TotalTimeTodayDetailed);
121+
_wakatime.TotalTimeTodayUpdated += WakatimeTotalTimeTodayUpdated;
122+
}
116123

117124
// Visual Studio Events
118125
_docEvents = _dte.Events.DocumentEvents;

Dev16/Forms/SettingsForm.Designer.cs

Lines changed: 18 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Dev16/Forms/SettingsForm.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ private void SettingsForm_Load(object sender, EventArgs e)
2525
txtAPIKey.Text = _configFile.GetSetting("api_key");
2626
txtProxy.Text = _configFile.GetSetting("proxy");
2727
chkDebugMode.Checked = _configFile.GetSettingAsBoolean("debug");
28+
chkStatusBarEnabled.Checked = _configFile.GetSettingAsBoolean("status_bar_enabled", true);
2829
}
2930
catch (Exception ex)
3031
{
@@ -45,6 +46,7 @@ private void BtnOk_Click(object sender, EventArgs e)
4546
_configFile.SaveSetting("settings", "api_key", txtAPIKey.Text.Trim());
4647
_configFile.SaveSetting("settings", "proxy", txtProxy.Text.Trim());
4748
_configFile.SaveSetting("settings", "debug", chkDebugMode.Checked.ToString().ToLower());
49+
_configFile.SaveSetting("settings", "status_bar_enabled", chkStatusBarEnabled.Checked.ToString().ToLower());
4850
}
4951
else
5052
{

Dev16/WakaTimePackage.cs

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,16 +104,23 @@ private async Task InitializeAsync(CancellationToken cancellationToken)
104104
// Do any initialization that requires the UI thread after switching to the UI thread.
105105
await JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken);
106106

107-
// Inject control to status bar
108-
_statusbarControl = new StatusbarControl();
109-
_statusbarControl.SetText("Initializing...");
110-
_statusbarControl.SetToolTip("WakaTime: Initializing...");
111-
await StatusbarInjector.InjectControlAsync(_statusbarControl);
107+
// Initialize status bar if enabled
108+
if (_wakatime.Config.GetSettingAsBoolean("status_bar_enabled", true))
109+
{
110+
// Inject control to status bar
111+
_statusbarControl = new StatusbarControl();
112+
_statusbarControl.SetText("Initializing...");
113+
_statusbarControl.SetToolTip("WakaTime: Initializing...");
114+
await StatusbarInjector.InjectControlAsync(_statusbarControl);
115+
}
112116

113117
// Wait for _wakatime to complete initialization,and display today's coding time on status bar
114118
await wakaTimeInitializationTask;
115-
UpdateTimeOnStatusbarControl(_wakatime.TotalTimeToday, _wakatime.TotalTimeTodayDetailed);
116-
_wakatime.TotalTimeTodayUpdated += WakatimeTotalTimeTodayUpdated;
119+
if (_statusbarControl != null)
120+
{
121+
UpdateTimeOnStatusbarControl(_wakatime.TotalTimeToday, _wakatime.TotalTimeTodayDetailed);
122+
_wakatime.TotalTimeTodayUpdated += WakatimeTotalTimeTodayUpdated;
123+
}
117124

118125
// Visual Studio Events
119126
_docEvents = _dte.Events.DocumentEvents;

Dev17/Forms/SettingsForm.Designer.cs

Lines changed: 18 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Dev17/Forms/SettingsForm.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ private void SettingsForm_Load(object sender, EventArgs e)
2525
txtAPIKey.Text = _configFile.GetSetting("api_key");
2626
txtProxy.Text = _configFile.GetSetting("proxy");
2727
chkDebugMode.Checked = _configFile.GetSettingAsBoolean("debug");
28+
chkStatusBarEnabled.Checked = _configFile.GetSettingAsBoolean("status_bar_enabled", true);
2829
}
2930
catch (Exception ex)
3031
{
@@ -45,6 +46,7 @@ private void BtnOk_Click(object sender, EventArgs e)
4546
_configFile.SaveSetting("settings", "api_key", txtAPIKey.Text.Trim());
4647
_configFile.SaveSetting("settings", "proxy", txtProxy.Text.Trim());
4748
_configFile.SaveSetting("settings", "debug", chkDebugMode.Checked.ToString().ToLower());
49+
_configFile.SaveSetting("settings", "status_bar_enabled", chkStatusBarEnabled.Checked.ToString().ToLower());
4850
}
4951
else
5052
{

Dev17/WakaTimePackage.cs

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,16 +104,23 @@ private async Task InitializeAsync(CancellationToken cancellationToken)
104104
// Do any initialization that requires the UI thread after switching to the UI thread.
105105
await JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken);
106106

107-
// Inject control to status bar
108-
_statusbarControl = new StatusbarControl();
109-
_statusbarControl.SetText("Initializing...");
110-
_statusbarControl.SetToolTip("WakaTime: Initializing...");
111-
await StatusbarInjector.InjectControlAsync(_statusbarControl);
107+
// Initialize status bar if enabled
108+
if (_wakatime.Config.GetSettingAsBoolean("status_bar_enabled", true))
109+
{
110+
// Inject control to status bar
111+
_statusbarControl = new StatusbarControl();
112+
_statusbarControl.SetText("Initializing...");
113+
_statusbarControl.SetToolTip("WakaTime: Initializing...");
114+
await StatusbarInjector.InjectControlAsync(_statusbarControl);
115+
}
112116

113117
// Wait for _wakatime to complete initialization,and display today's coding time on status bar
114118
await wakaTimeInitializationTask;
115-
UpdateTimeOnStatusbarControl(_wakatime.TotalTimeToday, _wakatime.TotalTimeTodayDetailed);
116-
_wakatime.TotalTimeTodayUpdated += WakatimeTotalTimeTodayUpdated;
119+
if (_statusbarControl != null)
120+
{
121+
UpdateTimeOnStatusbarControl(_wakatime.TotalTimeToday, _wakatime.TotalTimeTodayDetailed);
122+
_wakatime.TotalTimeTodayUpdated += WakatimeTotalTimeTodayUpdated;
123+
}
117124

118125
// Visual Studio Events
119126
_docEvents = _dte.Events.DocumentEvents;

0 commit comments

Comments
 (0)