1
0
Fork 0

Compare commits

...

3 Commits

Author SHA1 Message Date
chylex a58a1b347a
Show a deprecation notice on launch
References #360
2023-07-17 01:04:49 +02:00
chylex 37303ddf02
Fix doubled border in Settings dialog 2023-07-17 00:58:50 +02:00
chylex f8417706e1
Update CefSharp to 109 2023-07-16 21:40:55 +02:00
9 changed files with 63 additions and 25 deletions

View File

@ -32,7 +32,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CefSharp.Common.NETCore" Version="107.1.90" />
<PackageReference Include="CefSharp.Common.NETCore" Version="109.1.110" />
</ItemGroup>
<ItemGroup>

View File

@ -9,6 +9,7 @@ namespace TweetDuck.Configuration {
public const string ArgIgnoreGDPR = "-nogdpr";
public const string ArgHttpVideo = "-httpvideo";
public const string ArgFreeze = "-freeze";
public const string ArgHideDeprecation = "-hidedeprecation";
// internal args
public const string ArgRestart = "-restart";

View File

@ -0,0 +1,36 @@
using System;
using System.Windows.Forms;
using TweetLib.Core;
namespace TweetDuck.Dialogs;
static class DeprecationNoticeDialog {
public static bool Show() {
const string contents = """
TweetDuck is no longer being maintained:
- Twitter has been constantly breaking TweetDeck and therefore also breaking TweetDuck.
- Twitter will be replacing TweetDeck with a new version that is incompatible with most of the app's features.
- Twitter is planning to put TweetDeck behind a subscription paywall.
There will be no more updates.
Continue at your own risk.
""";
using FormMessage message = new FormMessage("TweetDuck Deprecation Notice", contents, MessageBoxIcon.Warning);
message.AddButton("Exit", DialogResult.Cancel, ControlType.Cancel);
message.AddButton("Continue", DialogResult.OK, ControlType.Accept | ControlType.Focused);
Button btnLearnMore = message.CreateButton("Learn More", x: 9, width: 106);
btnLearnMore.Anchor |= AnchorStyles.Left;
btnLearnMore.Margin = new Padding(0, 0, 48, 0);
btnLearnMore.Click += OnBtnLearnMoreClick;
message.AddActionControl(btnLearnMore);
return message.ShowDialog() == DialogResult.OK;
}
private static void OnBtnLearnMoreClick(object? sender, EventArgs args) {
App.SystemHandler.OpenBrowser(Program.Website + "/deprecation");
}
}

View File

@ -124,15 +124,7 @@ namespace TweetDuck.Dialogs {
}
public Button AddButton(string title, DialogResult result = DialogResult.OK, ControlType type = ControlType.None) {
Button button = new Button {
Anchor = AnchorStyles.Bottom,
Font = SystemFonts.MessageBoxFont,
Location = new Point(0, 12),
Size = new Size(BrowserUtils.Scale(88, dpiScale), BrowserUtils.Scale(26, dpiScale)),
TabIndex = 256 - buttonCount,
Text = title,
UseVisualStyleBackColor = true
};
Button button = CreateButton(title);
button.Click += (_, _) => {
ClickedButton = button;
@ -162,6 +154,18 @@ namespace TweetDuck.Dialogs {
return button;
}
public Button CreateButton(string title, int x = 0, int width = 88) {
return new Button {
Anchor = AnchorStyles.Bottom,
Font = SystemFonts.MessageBoxFont,
Location = new Point(x, 12),
Size = new Size(BrowserUtils.Scale(width, dpiScale), BrowserUtils.Scale(26, dpiScale)),
TabIndex = 256 - buttonCount,
Text = title,
UseVisualStyleBackColor = true
};
}
public void AddActionControl(Control control) {
panelActions.Controls.Add(control);

View File

@ -50,10 +50,10 @@
| System.Windows.Forms.AnchorStyles.Right)));
this.panelContents.AutoScroll = true;
this.panelContents.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panelContents.Location = new System.Drawing.Point(135, 12);
this.panelContents.Location = new System.Drawing.Point(134, 12);
this.panelContents.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.panelContents.Name = "panelContents";
this.panelContents.Size = new System.Drawing.Size(662, 482);
this.panelContents.Size = new System.Drawing.Size(663, 482);
this.panelContents.TabIndex = 1;
//
// panelButtons

View File

@ -108,6 +108,10 @@ namespace TweetDuck {
if (Config.System.Migrate()) {
Config.System.Save();
}
if (!Arguments.HasFlag(Arguments.ArgHideDeprecation) && !DeprecationNoticeDialog.Show()) {
Environment.Exit(0);
}
}
public void Launch(ResourceCache resourceCache, PluginManager pluginManager) {

View File

@ -1,6 +1,5 @@
using System;
using System.Diagnostics;
using System.Drawing;
using System.Windows.Forms;
using TweetDuck.Dialogs;
using TweetDuck.Management;
@ -36,16 +35,10 @@ namespace TweetDuck {
btnIgnore.Enabled = canIgnore;
form.ActiveControl = canIgnore ? btnIgnore : btnExit;
Button btnOpenLog = new Button {
Anchor = AnchorStyles.Bottom | AnchorStyles.Left,
Enabled = loggedSuccessfully,
Font = SystemFonts.MessageBoxFont,
Location = new Point(9, 12),
Margin = new Padding(0, 0, 48, 0),
Size = new Size(106, 26),
Text = "Show Error Log",
UseVisualStyleBackColor = true
};
Button btnOpenLog = form.CreateButton("Show Error Log", x: 9, width: 106);
btnOpenLog.Anchor |= AnchorStyles.Left;
btnOpenLog.Enabled = loggedSuccessfully;
btnOpenLog.Margin = new Padding(0, 0, 48, 0);
btnOpenLog.Click += static (_, _) => {
if (!OpenLogFile()) {

View File

@ -36,7 +36,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CefSharp.WinForms.NETCore" Version="107.1.90" />
<PackageReference Include="CefSharp.WinForms.NETCore" Version="109.1.110" />
</ItemGroup>
<ItemGroup>

View File

@ -28,7 +28,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CefSharp.WinForms.NETCore" Version="107.1.90" />
<PackageReference Include="CefSharp.WinForms.NETCore" Version="109.1.110" />
</ItemGroup>
<ItemGroup>