⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainwindowcontroller.h

📁 lumaqq
💻 H
字号:
/* * LumaQQ - Cross platform QQ client, special edition for Mac * * Copyright (C) 2007 luma <stubma@163.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */#import <Cocoa/Cocoa.h>#import "VerifyCodeWindowController.h"#import "MainQQListener.h"#import "QQClient.h"#import "PSMTabBarControl.h"#import "GetLoginTokenReplyPacket.h"#import "SystemNotificationPacket.h"#import "PasswordVerifyReplyPacket.h"#import "LoginReplyPacket.h"#import "FriendDataOpPacket.h"#import "GetUserInfoReplyPacket.h"#import "ClusterSendIMExPacket.h"#import "SendIMPacket.h"#import "ModifyInfoPacket.h"#import "ChangeStatusPacket.h"#import "GroupManager.h"#import "ClusterBatchGetCardPacket.h"#import "GetFriendListReplyPacket.h"#import "GetFriendGroupReplyPacket.h"#import "HeadControl.h"#import "UserOutlineDataSource.h"#import "ClusterOutlineDataSource.h"#import "RecentTableDataSource.h"#import "GroupDataOpReplyPacket.h"#import "GetOnlineOpReplyPacket.h"#import "GroupDataOpPacket.h"#import "KeepAliveReplyPacket.h"#import "PropertyOpReplyPacket.h"#import "LevelOpReplyPacket.h"#import "SignatureOpReplyPacket.h"#import "FriendDataOpReplyPacket.h"#import "ClusterCommandReplyPacket.h"#import "ClusterCommandPacket.h"#import "FriendStatusChangedPacket.h"#import "FriendStatusChangedNotification.h"#import "WindowRegistry.h"#import "MessageQueue.h"#import "FaceManager.h"#import "HistoryManager.h"#import "MobileTableDataSource.h"#import "SideView.h"#import "QQOutlineView.h"#import "QQTableView.h"#import "QBarView.h"#import "PluginManager.h"#import "OutlineTooltipController.h"#import "JobController.h"// outline tab view item label#define kTabViewItemFriends @"Friends"#define kTabViewItemClusters @"Clusters"#define kTabViewItemMobiles @"Mobiles"#define kTabViewItemRecent @"Recent"@interface MainWindowController : NSWindowController {	// ui controls	IBOutlet NSProgressIndicator* m_piLogin;	IBOutlet NSTextField* m_txtHint;	IBOutlet NSTabView* m_tabMain;	IBOutlet NSTabView* m_tabGroup;	IBOutlet NSMenu* m_headMenu;	IBOutlet NSSearchField* m_searchField;	IBOutlet QQOutlineView* m_userOutline;	IBOutlet QQOutlineView* m_clusterOutline;	IBOutlet QQTableView* m_recentTable;	IBOutlet QQTableView* m_mobileTable;	IBOutlet NSDrawer* m_displaySettingDrawer;		IBOutlet NSMenu* m_searchMenu;	IBOutlet NSMenuItem* m_realNameItem;	IBOutlet NSMenuItem* m_nickNameItem;	IBOutlet NSMenuItem* m_qqItem;	IBOutlet NSMenuItem* m_signatureItem;		IBOutlet NSMenu* m_messageSettingMenu;		// verify code window	IBOutlet VerifyCodeWindowController* m_verifyCodeWindowController;		// display setting drawer	IBOutlet NSButton* m_chkShowLargeUserHead;	IBOutlet NSButton* m_chkShowRealName;	IBOutlet NSButton* m_chkShowNickName;	IBOutlet NSButton* m_chkShowFriendLevel;	IBOutlet NSButton* m_chkShowOnlineOnly;	IBOutlet NSButton* m_chkShowSignature;	IBOutlet NSButton* m_chkShowUserProperty;	IBOutlet NSButton* m_chkShowStatusMessage;	IBOutlet NSButton* m_chkShowClusterNameCard;	IBOutlet NSButton* m_chkShowHorizontalLine;	IBOutlet NSButton* m_chkAlternatingRowBackground;	IBOutlet NSColorWell* m_outlineBackgroundColorWell;	IBOutlet NSColorWell* m_outlineDefaultFontColorWell;	IBOutlet NSColorWell* m_signatureFontColorWell;		// input window	IBOutlet NSWindow* m_inputWindow;	IBOutlet NSTextField* m_txtInputTitle;	IBOutlet NSTextField* m_txtInput;		// progress window	IBOutlet NSWindow* m_progressWindow;	IBOutlet NSTextField* m_txtProgressHint;	IBOutlet NSProgressIndicator* m_progressBar;		// group select window	IBOutlet NSWindow* m_groupSelectWindow;	IBOutlet NSComboBox* m_cbGroup;		// mobile info window	IBOutlet NSWindow* m_mobileInfoWindow;	IBOutlet NSTextField* m_txtMobileName;	IBOutlet NSTextField* m_txtMobileNumber;		// button	IBOutlet NSButton* m_btnSearchWizard;	IBOutlet NSButton* m_btnDisplaySetting;	IBOutlet NSButton* m_btnSystemMessageList;	IBOutlet NSMenu* m_actionMenu;		// for auto hide	IBOutlet SideView* m_sideView;	IBOutlet NSTextField* m_txtSide;	IBOutlet NSImageView* m_ivSide;		// for switch outline	IBOutlet PSMTabBarControl* m_outlineSwitcher;		// QBar	IBOutlet QBarView* m_qbarView;		// qbar select window	IBOutlet NSWindow* m_winQBarPlugins;	IBOutlet NSTableView* m_pluginTable;	IBOutlet NSTextField* m_txtQBarPluginCount;		// plugin manager	PluginManager* m_pluginManager;		// main qq listener	MainQQListener* m_mainQQListener;		// indication filtering status	BOOL m_filtering;		// save current tab view item index when search user	int m_savedOutlineIndex;		// window registry	WindowRegistry* m_windowRegistry;		// for display setting	BOOL m_displaySettingShouldChange;		// toolbar	NSToolbar* m_toolbar;	NSToolbarItem* m_headItem;		// qq client	QQClient* m_client;		// user info	User* m_me;	NSData* m_password;	NSData* m_passwordMd5;	char m_loginStatus;	Connection* m_connection;		// ui flag	BOOL m_changingStatus;	BOOL m_myInfoGot;		// search mode flag	int m_searchFlag;		// group manager	GroupManager* m_groupManager;		// face manager	FaceManager* m_faceManager;		// history manager	HistoryManager* m_historyManager;		// message queue	MessageQueue* m_messageQueue;	NSMutableArray* m_postponedEventCache;		// data source	UserOutlineDataSource* m_userDataSource;	ClusterOutlineDataSource* m_clusterDataSource;	RecentTableDataSource* m_recentDataSource;	MobileTableDataSource* m_mobileDataSource;		// flag to control the hotkey enablement	BOOL m_enableHotKey;		// flag to indicate UI initialization status	// if it is true, then friend list must be got	BOOL m_UIInitialized;		// flag to indicate we are refreshing friend list	BOOL m_refreshingFriendList;		// cache for block request	NSMutableArray* m_requestBlockingCache;		// cache for add/remove friend, map qq number to group index	NSMutableDictionary* m_addFriendGroupMapping;	NSMutableDictionary* m_removeFriendGroupMapping;		// for update	NSURLDownload* m_updateChecker;		// check sheet type	int m_sheetType;		// for delete user	User* m_userToBeDeleted;		// flag to control hide on close	BOOL m_ignoreHideOnClose;		// for delete group	int m_moveFriendsInDeleteGroupTo;		// modify what font	int m_modifyFont;		// modify what color	int m_modifyColor;		// for auto hide	BOOL m_autoHided;	NSWindow* m_sideWindow;		// for animation	int m_animationType;		// floating tooltip	OutlineTooltipController* m_tooltipController;		// job controller	JobController* m_jobController;}// init- (id)initWithQQ:(int)iQQ password:(NSData*)password passwordMd5:(NSData*)passwordMd5 loginStatus:(char)loginStatus connection:(Connection*)connection;// action- (IBAction)onCancel:(id)sender;- (IBAction)onHeadItem:(id)sender;- (IBAction)onOnline:(id)sender;- (IBAction)onAway:(id)sender;- (IBAction)onHidden:(id)sender;- (IBAction)onOffline:(id)sender;- (IBAction)onBusy:(id)sender;- (IBAction)onMute:(id)sender;- (IBAction)onQMe:(id)sender;- (IBAction)onStatusHistory:(id)sender;- (IBAction)onChangeStatusMessage:(id)sender;- (IBAction)onClearStatusHistory:(id)sender;- (IBAction)onMyInfo:(id)sender;- (IBAction)onRealName:(id)sender;- (IBAction)onNickName:(id)sender;- (IBAction)onQQNumber:(id)sender;- (IBAction)onSignature:(id)sender;- (IBAction)onFilter:(id)sender;- (IBAction)onClearFilter:(id)sender;- (IBAction)onSearch:(id)sender;- (IBAction)onActionButton:(id)sender;- (IBAction)onRefreshFriendList:(id)sender;- (IBAction)onRefreshFriendRemark:(id)sender;- (IBAction)onRefreshFriendSignature:(id)sender;- (IBAction)onDisplaySetting:(id)sender;- (IBAction)onDisplaySettingOK:(id)sender;- (IBAction)onDisplaySettingCancel:(id)sender;- (IBAction)onChat:(id)sender;- (IBAction)onUserInfo:(id)sender;- (IBAction)onAddUser:(id)sender;- (IBAction)onQuicklyAddUser:(id)sender;- (IBAction)onDeleteUser:(id)sender;- (IBAction)onMoveToBlacklist:(id)sender;- (IBAction)onInputOK:(id)sender;- (IBAction)onInputCancel:(id)sender;- (IBAction)onViewInfo:(id)sender;- (IBAction)onAddAsFriend:(id)sender;- (IBAction)onTempSession:(id)sender;- (IBAction)onAddCluster:(id)sender;- (IBAction)onExitCluster:(id)sender;- (IBAction)onUpdateOrganization:(id)sender;- (IBAction)onEditOrganization:(id)sender;- (IBAction)onCreateSubject:(id)sender;- (IBAction)onCreateDialog:(id)sender;- (IBAction)onDoubleClick:(id)sender;- (IBAction)onExtractMessage:(id)sender;- (IBAction)onApplyForAllClusters:(id)sender;- (IBAction)onClusterMessageSetting:(id)sender;- (IBAction)onPreference:(id)sender;- (IBAction)onRemoveFromRecentContact:(id)sender;- (IBAction)onClearAllRecentContacts:(id)sender;- (IBAction)onOpenFaceManager:(id)sender;- (IBAction)onSystemMessageList:(id)sender;- (IBAction)onModifyRemarkName:(id)sender;- (IBAction)onNewGroup:(id)sender;- (IBAction)onRenameGroup:(id)sender;- (IBAction)onDeleteGroup:(id)sender;- (IBAction)onLogoutAndClose:(id)sender;- (IBAction)onGroupSelectOK:(id)sender;- (IBAction)onGroupSelectCancel:(id)sender;- (IBAction)onModifyNickFont:(id)sender;- (IBAction)onModifySignatureFont:(id)sender;- (IBAction)onFontChanged:(id)sender;- (IBAction)onOutlineBackgroundColorWell:(id)sender;- (IBAction)onNickFontColorWell:(id)sender;- (IBAction)onSignatureFontColorWell:(id)sender;- (IBAction)onColorChanged:(id)sender;- (IBAction)onNewMobile:(id)sender;- (IBAction)onModifyMobile:(id)sender;- (IBAction)onDeleteMobile:(id)sender;- (IBAction)onMobileInfoOK:(id)sender;- (IBAction)onMobileInfoCancel:(id)sender;- (IBAction)onSendSMSToQQ:(id)sender;- (IBAction)onSendSMSToMobile:(id)sender;- (IBAction)onRestoreFromAutoHide:(id)sender;- (IBAction)onScreenscrap:(id)sender;- (IBAction)onQBarPluginOK:(id)sender;- (IBAction)onQBarPluginCancel:(id)sender;// helper- (void)shutdownNetwork;- (void)returnToLogin;- (void)restartNetwork;- (void)refreshStatusUI;- (void)initializeMainPane;- (void)restoreLastFrame;- (void)restoreLastFrameOrigin;- (void)refreshClusters:(NSArray*)clusters;- (void)removeUserFromOutline:(User*)user;- (void)reloadUsers;- (void)reloadClusters;- (void)reloadRecent;- (void)addRequestBlockingEntry:(UInt32)QQ;- (BOOL)shouldBlockRequest:(UInt32)QQ;- (void)addAddFriendGroupMapping:(UInt32)QQ groupIndex:(int)groupIndex;- (Group*)destinationGroupAddedTo:(UInt32)QQ;- (int)destinationGroupIndexAddedTo:(UInt32)QQ;- (BOOL)registerExtractMessageHotKey;- (BOOL)registerScreenscrapHotKey;- (void)refreshDockIcon;- (void)addFriend:(UInt32)QQ;- (void)moveUser:(UInt32)QQ toGroup:(Group*)group reload:(BOOL)reload;- (void)deleteUser:(User*)user;- (void)moveUserToBlacklist:(User*)user;- (BOOL)needUploadFriendGroup;- (void)showProgressWindow:(BOOL)show;- (void)setProgressWindowHint:(NSString*)hint;- (void)showGroupSelectWindow;- (void)handleUserDidRemovedNotification:(NSNotification*)notification;- (void)handleUserDidMovedNotification:(NSNotification*)notification;- (Cluster*)parentClusterOf:(id)item;- (void)setHint:(NSString*)hint;- (void)saveImportantInfo;- (void)changeClusterMessageSetting:(Cluster*)cluster newMessageSetting:(char)newSetting;- (void)setToolbarVisibility:(BOOL)value;// delegate- (void)loginFailedAlertDidEnd:(NSAlert *)alert returnCode:(int)returnCode contextInfo:(void *)contextInfo;- (void)networkErrorAlertDidEnd:(NSAlert *)alert returnCode:(int)returnCode contextInfo:(void *)contextInfo;- (void)kickedOutAlertDidEnd:(NSAlert *)alert returnCode:(int)returnCode contextInfo:(void *)contextInfo;- (void)inputSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void*)contextInfo;- (void)moveToBlacklistAlertDidEnd:(NSAlert *)alert returnCode:(int)returnCode contextInfo:(void *)contextInfo;- (void)uploadFriendGroupAlertDidEnd:(NSAlert *)alert returnCode:(int)returnCode contextInfo:(void *)contextInfo;- (void)deleteGroupAlertDidEnd:(NSAlert *)alert returnCode:(int)returnCode contextInfo:(void *)contextInfo;- (void)qbarPluginSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void*)contextInfo;// setter and getter- (QQClient*)client;- (ContactInfo*)contact;- (void)setContactInfo:(ContactInfo*)contact;- (NSMutableDictionary*)removeFriendGroupMapping;- (GroupManager*)groupManager;- (FaceManager*)faceManager;- (User*)me;- (void)setMe:(User*)me;- (UInt32)onlineUserCount;- (WindowRegistry*)windowRegistry;- (MessageQueue*)messageQueue;- (NSOutlineView*)userOutline;- (NSOutlineView*)clusterOutline;- (NSTableView*)mobileTable;- (HistoryManager*)historyManager;- (NSButton*)systemMessageListButton;- (NSImageView*)sideImageView;- (BOOL)autoHided;- (VerifyCodeWindowController*)verifyCodeWindowController;- (BOOL)isMyInfoGot;- (void)setMyInfoGot:(BOOL)flag;- (NSProgressIndicator*)loginIndicator;- (NSTabView*)mainTab;- (void)setChangingStatus:(BOOL)flag;- (NSMutableArray*)postponedEventCache;- (BOOL)hotKeyEnabled;- (NSToolbarItem*)headItem;- (PluginManager*)pluginManager;- (NSString*)currentOutlineLabel;- (JobController*)jobController;- (BOOL)isUIInitialized;- (BOOL)isRefreshingFriendList;- (void)setRefreshingFriendList:(BOOL)flag;@end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -