📄 bbsmount.hh
字号:
//// Copyright (c) 2001-2002 by Miroslav Jezbera, jezberam@phoenix.inf.upol.cz//// 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., 675 Mass Ave, Cambridge, MA 02139, USA.//// (See the included file COPYING / GPL-2.0)//#ifndef BBSMOUNT_HH#define BBSMOUNT_HH#ifdef HAVE_CONFIG_H# include "config.h"#endif /* HAVE_CONFIG_H */#include <map>#include <set>using namespace std;#include "bbsmount_base.hh"#include "Basewindow.hh"#include "resource.hh"#include "main.hh"#include "tooltip.hh"// Constants:const int max_mount_device_point_size = 128, max_mtab_line_length = 256;// Types:enum debug_levels { dbg_no_debug_needed, // Default, only errors are printed dbg_warning, // Warnings are printed dbg_summary, // Only summary messages are printed dbg_all_work // Say what are you doing};typedef struct command_data { char *command; MountPoint *mp;} command_data_type;// Functions:int run_command_in_foreground(const char *command, MountPoint &mp);int run_command_in_background(const char *command, MountPoint &mp);set<int> what_is_mounted(const map<string, int> &mount_points);bool update_mount_points(const map<string, int> &mount_points);void create_notify_event(void);void check_mounts(void);RETSIGTYPE shutdown(int signal);// Another data typesstruct PIXMAP { Pixmap frame; Pixmap draw; Pixmap draw_pressed;};struct GEOM { int height; int width; int x; int y;};// Forward definitionsclass Resource;class BaseResource;class Basewindow;// Main classclass ToolWindow :public Basewindow { public: ToolWindow(int argc,char **argv,struct CMDOPTIONS *); ~ToolWindow(void); const MyImage &GetImage(const int imageidx) const; const MountPoint &GetMountPoint(const int mntidx) const; const PIXMAP &GetPixmaps(void) const; size_t GetMountPointsCount(void) const; string getTooltip(const string &format, const MountPoint &mp, bool actual_statfs = false) const; void configure(); void FreeAll(void); void rereadResources(void); MountPoint &GetMountPoint(const int mntidx);// Display *GetDisplay(void); Resource *GetResources(void); Window GetRootWindow(void); void CreateWindow(const bool reconfigure); void CreateSubWindows(const bool reconfigure); void EventLoop(void); void Draw(void); void Draw(const int x, const int y, const unsigned int width, const unsigned int height); void SetCommand(const int cmdidx, const string command); void SetImage(const int imgidx, MyImage *image); void SetMountPoint(const int mntidx, const MountPoint &mntpoint); void Stop(void); void ShowTooltip(const Window w, const int x, const int y, const int screen_x, const int screen_y); void updateTooltip(void); void reconfigure(void); private: Window rootwin; Resource *resource; GEOM rootgeometry, drawarea; PIXMAP pixmap; bool stop; MountPoint *tooltip_for_mp; vector<MountPoint> mount_points; vector<string> commands; vector<string> infotexts; vector<MyImage *> images; vector<MountWindow *> mount_windows;};// Global variablesextern ToolWindow *AppWindow;extern bool finish_checking, reconfigure;extern int debug_level;#endif /* BBSMOUNT_HH */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -