mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-08-18 13:31:41 +02:00
Configuration
Core
Bridge
Controls
Handling
Management
Notification
Example
FormNotificationExample.cs
Screenshot
FormNotificationBase.Designer.cs
FormNotificationBase.cs
FormNotificationMain.Designer.cs
FormNotificationMain.cs
FormNotificationTweet.Designer.cs
FormNotificationTweet.cs
SoundNotification.cs
TweetNotification.cs
Other
Utils
FormBrowser.Designer.cs
FormBrowser.cs
FormBrowser.resx
FormManager.cs
TweetDeckBrowser.cs
Data
Plugins
Properties
Resources
Updates
bld
lib
subprocess
tests
video
.gitattributes
.gitignore
LICENSE.md
Program.cs
README.md
Reporter.cs
TweetDuck.csproj
TweetDuck.sln
TweetDuck.sln.DotSettings
packages.config
* Update CefSharp to 65 (pre01) * Fix blank example notification on first load
67 lines
2.4 KiB
C#
67 lines
2.4 KiB
C#
using System;
|
|
using System.Windows.Forms;
|
|
using CefSharp;
|
|
using TweetDuck.Core.Controls;
|
|
using TweetDuck.Plugins;
|
|
using TweetDuck.Resources;
|
|
|
|
namespace TweetDuck.Core.Notification.Example{
|
|
sealed class FormNotificationExample : FormNotificationMain{
|
|
public override bool RequiresResize => true;
|
|
protected override bool CanDragWindow => Program.UserConfig.NotificationPosition == TweetNotification.Position.Custom;
|
|
|
|
protected override FormBorderStyle NotificationBorderStyle{
|
|
get{
|
|
if (Program.UserConfig.NotificationSize == TweetNotification.Size.Custom){
|
|
switch(base.NotificationBorderStyle){
|
|
case FormBorderStyle.FixedSingle: return FormBorderStyle.Sizable;
|
|
case FormBorderStyle.FixedToolWindow: return FormBorderStyle.SizableToolWindow;
|
|
}
|
|
}
|
|
|
|
return base.NotificationBorderStyle;
|
|
}
|
|
}
|
|
|
|
public event EventHandler Ready;
|
|
|
|
private readonly TweetNotification exampleNotification;
|
|
|
|
public FormNotificationExample(FormBrowser owner, PluginManager pluginManager) : base(owner, pluginManager, false){
|
|
browser.LoadingStateChanged += browser_LoadingStateChanged;
|
|
|
|
string exampleTweetHTML = ScriptLoader.LoadResource("pages/example.html", true)?.Replace("{avatar}", TweetNotification.AppLogo.Url) ?? string.Empty;
|
|
|
|
#if DEBUG
|
|
exampleTweetHTML = exampleTweetHTML.Replace("</p>", @"</p><div style='margin-top:256px'>Scrollbar test padding...</div>");
|
|
#endif
|
|
|
|
exampleNotification = TweetNotification.Example(exampleTweetHTML, 176);
|
|
}
|
|
|
|
private void browser_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e){
|
|
if (!e.IsLoading){
|
|
Ready?.Invoke(this, EventArgs.Empty);
|
|
browser.LoadingStateChanged -= browser_LoadingStateChanged;
|
|
}
|
|
}
|
|
|
|
public override void HideNotification(){
|
|
Location = ControlExtensions.InvisibleLocation;
|
|
}
|
|
|
|
public override void FinishCurrentNotification(){}
|
|
|
|
public void ShowExampleNotification(bool reset){
|
|
if (reset){
|
|
LoadTweet(exampleNotification);
|
|
}
|
|
else{
|
|
PrepareAndDisplayWindow();
|
|
}
|
|
|
|
UpdateTitle();
|
|
}
|
|
}
|
|
}
|