mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-26 02:20:20 -04:00 
			
		
		
		
	Static storage variables that should have been class members are made so. This ensures that if they are used as initialization one time switches then they will operate correctly when their class instantiated more than once. This now happoens for most classes due to the configurations switching facility which destroys all windows and re-instantiates them. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6661 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef DIRECTORY_NODE_HPP__
 | |
| #define DIRECTORY_NODE_HPP__
 | |
| 
 | |
| #include <QTreeWidgetItem>
 | |
| #include <QString>
 | |
| 
 | |
| //
 | |
| // Tree widget item representing a file system directory.
 | |
| //
 | |
| // It  renders the  directory name  in the  first column  and progress
 | |
| // information in the 2nd column. The progress information consists of
 | |
| // two 64 bit integer values, the 1st in the DisplayRole is the number
 | |
| // of  bytes received  and the  2nd in  the UserRole  the total  bytes
 | |
| // expected.    The   progress   information  is   not   automatically
 | |
| // maintained,  see the  Directory  class  for an  example  of how  to
 | |
| // dynamically maintain  the DirectoryNode  progress values.   The 1st
 | |
| // column also  renders a tristate  check box that controls  the first
 | |
| // column check boxes of child items.
 | |
| //
 | |
| class DirectoryNode final
 | |
|   : public QTreeWidgetItem
 | |
| {
 | |
| public:
 | |
|   explicit DirectoryNode (QTreeWidgetItem * parent, QString const& name)
 | |
|     : QTreeWidgetItem {parent, Type}
 | |
|   {
 | |
|     setFlags (flags () | Qt::ItemIsUserCheckable | Qt::ItemIsTristate);
 | |
|     setText (0, name);
 | |
|     setCheckState (0, Qt::Unchecked);
 | |
| 
 | |
|     // initialize as empty, the owning QTreeWidget must maintain these
 | |
|     // progress values
 | |
|     setData (1, Qt::DisplayRole, 0ll); // progress in bytes
 | |
|     setData (1, Qt::UserRole, 0ll);    // expected bytes
 | |
|   }
 | |
| 
 | |
|   bool operator == (QString const& name) const
 | |
|   {
 | |
|     return name == text (0);
 | |
|   }
 | |
| 
 | |
|   static int constexpr Type {UserType};
 | |
| };
 | |
| 
 | |
| inline
 | |
| bool operator == (QString const& lhs, DirectoryNode const& rhs)
 | |
| {
 | |
|   return rhs == lhs;
 | |
| }
 | |
| 
 | |
| #endif
 |