# Path: sunflower/common.py
# class UserDirectory:
# class AccessModeFormat:
# class SizeFormat:
# 	DESKTOP = 'XDG_DESKTOP_DIR'
# 	DOWNLOADS = 'XDG_DOWNLOAD_DIR'
# 	TEMPLATES = 'XDG_TEMPLATES_DIR'
# 	PUBLIC = 'XDG_PUBLICSHARE_DIR'
# 	DOCUMENTS = 'XDG_DOCUMENTS_DIR'
# 	MUSIC = 'XDG_MUSIC_DIR'
# 	PICTURES = 'XDG_PICTURES_DIR'
# 	VIDEOS = 'XDG_VIDEOS_DIR'
# 	OCTAL = 0
# 	TEXTUAL = 1
# 	LOCAL = 0
# 	SI = 1
# 	IEC = 2
# MONOSPACE_FONT_STRING = None
# 			MONOSPACE_FONT_STRING = 'monospace'
# 			MONOSPACE_FONT_STRING = settings.get_string('monospace-font-name')
# def format_size(size, format_type, include_unit=True):
# def format_mode(mode, format):
# def get_base_directory():
# def get_static_assets_directory():
# def get_cache_directory():
# def get_config_directory():
# def get_config_path():
# def get_data_directory():
# def get_user_directory(directory):
# def is_gui_app(command):
# def executable_exists(command):
# def load_translation():
# def decode_file_name(file_name):
# def encode_file_name(file_name):
# def get_monospace_font_string():


from gi.repository import Gtk, Gdk, GObject, Pango
from sunflower import common
	def __init__(self, application, thread):
		self._paused = False
		self._application = application
		self._thread = thread
		self._size_format = '{0} / {1}'
		self._count_format = '{0} / {1}'
		self._has_source_destination = False
		self._has_current_file = False
		self._has_details = False
		self._size_format_type = self._application.options.get('size_format')

		self._total_size = 0
		self._total_count = 0
		self._current_size = 0
		self._current_count = 0

		# aggregate speeds to provide accurate time prediction
		self._speeds = []
		self._total_checkpoint = 0

		# set window properties
		self._container = Gtk.Popover.new()
		self._container.set_size_request(500, -1)

		# connect signals
		self._container.connect('destroy', self._destroy)
		self._container.connect('delete-event', self._cancel_click)

		# create indicator button
		self._indicator = Gtk.MenuButton.new()

# Path: sunflower/common.py
# class UserDirectory:
# class AccessModeFormat:
# class SizeFormat:
# 	DESKTOP = 'XDG_DESKTOP_DIR'
# 	DOWNLOADS = 'XDG_DOWNLOAD_DIR'
# 	TEMPLATES = 'XDG_TEMPLATES_DIR'
# 	PUBLIC = 'XDG_PUBLICSHARE_DIR'
# 	DOCUMENTS = 'XDG_DOCUMENTS_DIR'
# 	MUSIC = 'XDG_MUSIC_DIR'
# 	PICTURES = 'XDG_PICTURES_DIR'
# 	VIDEOS = 'XDG_VIDEOS_DIR'
# 	OCTAL = 0
# 	TEXTUAL = 1
# 	LOCAL = 0
# 	SI = 1
# 	IEC = 2
# MONOSPACE_FONT_STRING = None
# 			MONOSPACE_FONT_STRING = 'monospace'
# 			MONOSPACE_FONT_STRING = settings.get_string('monospace-font-name')
# def format_size(size, format_type, include_unit=True):
# def format_mode(mode, format):
# def get_base_directory():
# def get_static_assets_directory():
# def get_cache_directory():
# def get_config_directory():
# def get_config_path():
# def get_data_directory():
# def get_user_directory(directory):
# def is_gui_app(command):
# def executable_exists(command):
# def load_translation():
# def decode_file_name(file_name):
# def encode_file_name(file_name):
# def get_monospace_font_string():


# Path: sunflower/gui/operation_dialog.py
from gi.repository import Gtk, Gdk, GObject, Pango
from sunflower import common

	def __init__(self, application, thread):
		self._paused = False
		self._application = application
		self._thread = thread
		self._size_format = '{0} / {1}'
		self._count_format = '{0} / {1}'
		self._has_source_destination = False
		self._has_current_file = False
		self._has_details = False
		self._size_format_type = self._application.options.get('size_format')

		self._total_size = 0
		self._total_count = 0
		self._current_size = 0
		self._current_count = 0

		# aggregate speeds to provide accurate time prediction
		self._speeds = []
		self._total_checkpoint = 0

		# set window properties
		self._container = Gtk.Popover.new()
		self._container.set_size_request(500, -1)

		# connect signals
		self._container.connect('destroy', self._destroy)
		self._container.connect('delete-event', self._cancel_click)

		# create indicator button
		self._indicator = Gtk.MenuButton.new()

		self._indicator.set_popover(self._container)