mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-09-18 21:24:49 +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
video
.gitattributes
.gitignore
LICENSE.md
Program.cs
README.md
Reporter.cs
TweetDuck.csproj
TweetDuck.sln
TweetDuck.sln.DotSettings
packages.config
69 lines
2.5 KiB
C#
69 lines
2.5 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 => Config.NotificationPosition == TweetNotification.Position.Custom;
|
|
|
|
protected override FormBorderStyle NotificationBorderStyle{
|
|
get{
|
|
if (Config.NotificationSize == TweetNotification.Size.Custom){
|
|
switch(base.NotificationBorderStyle){
|
|
case FormBorderStyle.FixedSingle: return FormBorderStyle.Sizable;
|
|
case FormBorderStyle.FixedToolWindow: return FormBorderStyle.SizableToolWindow;
|
|
}
|
|
}
|
|
|
|
return base.NotificationBorderStyle;
|
|
}
|
|
}
|
|
|
|
protected override string BodyClasses => base.BodyClasses+" td-example";
|
|
|
|
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.LoadResourceSilent("pages/example.html")?.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 = new TweetNotification(string.Empty, string.Empty, "Home", exampleTweetHTML, 176, string.Empty, string.Empty);
|
|
}
|
|
|
|
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();
|
|
}
|
|
}
|
|
}
|