Krita Source Code Documentation
Loading...
Searching...
No Matches
comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer Class Reference
+ Inheritance diagram for comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer:

Public Member Functions

 __init__ (self)
 
 first_page (self)
 
 flip_page (self)
 
 get_mergedimage (self, index)
 
 go_to_page_index (self, index)
 
 last_page (self)
 
 load_comic (self, path_to_config)
 
 next_page (self)
 
 prev_page (self)
 
 toggle_spread (self)
 
 update_left_page (self, index)
 
 update_right_page (self, index)
 
 update_single_page (self, index)
 

Public Attributes

 buttons_layout
 
 end_shortcut
 
 first_btn
 
 first_page
 
 home_shortcut
 
 last_btn
 
 last_page
 
 left_shortcut
 
 left_viewer
 
 next_btn
 
 next_page
 
 page_layout
 
 pageIndex
 
 path_to_config
 
 prev_btn
 
 prev_page
 
 projecturl
 
 right_shortcut
 
 right_viewer
 
 setupDictionary
 
 single_viewer
 
 space_shortcut
 
 spread
 
 spread_btn
 
 toggle_spread
 

Static Public Attributes

int pageIndex = 0
 
bool spread = True
 

Detailed Description

Definition at line 78 of file comics_project_page_viewer.py.

Constructor & Destructor Documentation

◆ __init__()

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.__init__ ( self)

Definition at line 82 of file comics_project_page_viewer.py.

82 def __init__(self):
83 super().__init__()
84
85 self.setModal(False)
86 self.setWindowTitle('Untitled')
87 self.setWindowFlags(
88 Qt.WindowType.WindowTitleHint |
89 Qt.WindowType.WindowMinimizeButtonHint |
90 Qt.WindowType.WindowMaximizeButtonHint |
91 Qt.WindowType.WindowCloseButtonHint
92 )
93 self.resize(1024, 768)
94 self.setLayout(QVBoxLayout())
95
96 self.left_viewer = page_viewer()
97 self.left_viewer.align_right()
98 self.left_viewer.clicked.connect(self.prev_page)
99 self.right_viewer = page_viewer()
100 self.right_viewer.align_left()
101 self.right_viewer.clicked.connect(self.next_page)
102 self.single_viewer = page_viewer()
103 self.single_viewer.align_center()
104 self.single_viewer.clicked.connect(self.next_page)
105 self.single_viewer.hide()
106
107 self.page_layout = QHBoxLayout()
108 self.layout().addLayout(self.page_layout)
109 self.page_layout.addWidget(self.left_viewer)
110 self.page_layout.addWidget(self.right_viewer)
111 self.page_layout.addWidget(self.single_viewer)
112
113 # Keyboard shortcuts
114 self.home_shortcut = QShortcut('Home', self)
115 self.home_shortcut.activated.connect(self.first_page)
116 self.left_shortcut = QShortcut('Left', self)
117 self.left_shortcut.activated.connect(self.prev_page)
118 self.right_shortcut = QShortcut('Right', self)
119 self.right_shortcut.activated.connect(self.next_page)
120 self.space_shortcut = QShortcut('Space', self)
121 self.space_shortcut.activated.connect(self.next_page)
122 self.end_shortcut = QShortcut('End', self)
123 self.end_shortcut.activated.connect(self.last_page)
124
125 self.first_btn = QPushButton('First')
126 self.first_btn.clicked.connect(self.first_page)
127 self.prev_btn = QPushButton('Previous')
128 self.prev_btn.clicked.connect(self.prev_page)
129 self.spread_btn = QPushButton('Single Page')
130 self.spread_btn.clicked.connect(self.toggle_spread)
131 self.next_btn = QPushButton('Next')
132 self.next_btn.clicked.connect(self.next_page)
133 self.last_btn = QPushButton('Last')
134 self.last_btn.clicked.connect(self.last_page)
135
136 self.buttons_layout = QHBoxLayout()
137 self.layout().addLayout(self.buttons_layout)
138 self.buttons_layout.addWidget(self.first_btn)
139 self.buttons_layout.addWidget(self.prev_btn)
140 self.buttons_layout.addWidget(self.spread_btn)
141 self.buttons_layout.addWidget(self.next_btn)
142 self.buttons_layout.addWidget(self.last_btn)
143

References comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.__init__(), KisPipeBrushParasite.dim, KisSpinBoxUnitManager.dim, FlattenSpec.dim, xcfLayer.dim, RecorderExportConfig.resize(), KisRectsGrid.resize(), RecorderExportSettings.resize, KisGLImageF16.resize(), KisTotalRandomColorSource.resize(), KoPatternColorSource.resize(), KisUniformColorSource.resize(), KisOptimizedByteArray.resize(), and Selection.resize().

Member Function Documentation

◆ first_page()

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.first_page ( self)

◆ flip_page()

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.flip_page ( self)

Definition at line 234 of file comics_project_page_viewer.py.

234 def flip_page(self):
235 if self.spread:
236 if self.pageIndex % 2 == 0: # Even/Left
237 left_page_number = self.pageIndex - 1
238 right_page_number = self.pageIndex
239 else: # Odd/Right
240 left_page_number = self.pageIndex
241 right_page_number = self.pageIndex + 1
242 self.update_left_page(left_page_number)
243 self.update_right_page(right_page_number)
244 if left_page_number < 0:
245 page_numbers = str(right_page_number + 1)
246 elif right_page_number >= len(self.setupDictionary['pages']):
247 page_numbers = str(left_page_number + 1)
248 else:
249 page_numbers = '{left} / {right}'.format(
250 left = str(left_page_number + 1),
251 right = str(right_page_number + 1))
252 self.setWindowTitle('{name} - {page_numbers}'.format(
253 name = self.setupDictionary['projectName'],
254 page_numbers = page_numbers))
255 else:
256 if self.pageIndex >= len(self.setupDictionary['pages']):
257 self.pageIndex = len(self.setupDictionary['pages']) - 1
258 if self.pageIndex < 0:
259 self.pageIndex = 0
260 self.update_single_page(self.pageIndex)
261 self.setWindowTitle('{name} - {page_numbers}'.format(
262 name = self.setupDictionary['projectName'],
263 page_numbers = str(self.pageIndex + 1)))
264
265

References KisPipeBrushParasite.dim, KisSpinBoxUnitManager.dim, FlattenSpec.dim, xcfLayer.dim, comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.pageIndex, comics_project_management_tools.comics_project_manager_docker.comics_project_manager_docker.setupDictionary, comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.setupDictionary, comics_project_management_tools.comics_project_setup_wizard.ComicsProjectSetupWizard.setupDictionary, KoAbstractGradient.spread, KoAbstractGradient.spread(), psd_layer_effects_shadow_base.spread(), comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.spread, comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.update_left_page(), comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.update_right_page(), and comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.update_single_page().

◆ get_mergedimage()

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.get_mergedimage ( self,
index )

Definition at line 266 of file comics_project_page_viewer.py.

266 def get_mergedimage(self, index):
267 if index < len(self.setupDictionary['pages']) and index > -1:
268 image_url = os.path.join(self.projecturl, self.setupDictionary['pages'][index])
269 if os.path.exists(image_url):
270 page = zipfile.ZipFile(image_url, "r")
271 image = QImage.fromData(page.read("mergedimage.png"))
272 page.close()
273 return image
274 image = QImage(QSize(10, 10), QImage.Format.Format_ARGB32)
275 image.fill(Qt.GlobalColor.transparent)
276 return image
277

References comics_project_management_tools.comics_project_manager_docker.comics_project_manager_docker.projecturl, comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.projecturl, comics_project_management_tools.comics_project_manager_docker.comics_project_manager_docker.setupDictionary, comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.setupDictionary, and comics_project_management_tools.comics_project_setup_wizard.ComicsProjectSetupWizard.setupDictionary.

◆ go_to_page_index()

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.go_to_page_index ( self,
index )

Definition at line 170 of file comics_project_page_viewer.py.

170 def go_to_page_index(self, index):
171 if index >= 0 and index < len(self.setupDictionary['pages']):
172 self.pageIndex = index
173 else:
174 self.pageIndex = 0
175 self.flip_page()
176

References comics_project_management_tools.comics_project_manager_docker.comics_project_manager_docker.setupDictionary, comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.setupDictionary, and comics_project_management_tools.comics_project_setup_wizard.ComicsProjectSetupWizard.setupDictionary.

◆ last_page()

◆ load_comic()

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.load_comic ( self,
path_to_config )

Definition at line 144 of file comics_project_page_viewer.py.

144 def load_comic(self, path_to_config):
145 self.path_to_config = path_to_config
146 configFile = open(self.path_to_config, "r", newline="", encoding="utf-16")
147 self.setupDictionary = json.load(configFile)
148 self.projecturl = os.path.dirname(str(self.path_to_config))
149 if 'readingDirection' in self.setupDictionary:
150 if self.setupDictionary['readingDirection'] == "leftToRight":
151 self.setLayoutDirection(Qt.LayoutDirection.LeftToRight)
152 self.left_shortcut.disconnect()
153 self.right_shortcut.disconnect()
154 self.left_shortcut.activated.connect(self.prev_page)
155 self.right_shortcut.activated.connect(self.next_page)
156 else:
157 self.left_shortcut.disconnect()
158 self.right_shortcut.disconnect()
159 self.setLayoutDirection(Qt.LayoutDirection.RightToLeft)
160 self.left_shortcut.activated.connect(self.next_page)
161 self.right_shortcut.activated.connect(self.prev_page)
162 else:
163 self.left_shortcut.disconnect()
164 self.right_shortcut.disconnect()
165 self.setLayoutDirection(Qt.LayoutDirection.LeftToRight)
166 self.left_shortcut.activated.connect(self.prev_page)
167 self.right_shortcut.activated.connect(self.next_page)
168 configFile.close()
169

◆ next_page()

◆ prev_page()

◆ toggle_spread()

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.toggle_spread ( self)

Definition at line 177 of file comics_project_page_viewer.py.

177 def toggle_spread(self):
178 if self.spread:
179 self.spread = False
180 self.spread_btn.setText('Double Spread')
181 self.update_single_page(self.pageIndex)
182 self.left_viewer.hide()
183 self.right_viewer.hide()
184 self.single_viewer.show()
185 self.flip_page()
186 else:
187 self.spread = True
188 self.spread_btn.setText('Single Page')
189 self.left_viewer.show()
190 self.right_viewer.show()
191 self.single_viewer.hide()
192 self.flip_page()
193

References KoAbstractGradient.spread, KoAbstractGradient.spread(), psd_layer_effects_shadow_base.spread(), and comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.spread.

◆ update_left_page()

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.update_left_page ( self,
index )

Definition at line 198 of file comics_project_page_viewer.py.

198 def update_left_page(self, index):
199 image = self.get_mergedimage(index)
200 self.left_viewer.set_image(image)
201

References comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.get_mergedimage(), and comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.left_viewer.

◆ update_right_page()

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.update_right_page ( self,
index )

Definition at line 202 of file comics_project_page_viewer.py.

202 def update_right_page(self, index):
203 image = self.get_mergedimage(index)
204 self.right_viewer.set_image(image)
205

References comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.get_mergedimage(), and comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.right_viewer.

◆ update_single_page()

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.update_single_page ( self,
index )

Definition at line 194 of file comics_project_page_viewer.py.

194 def update_single_page(self, index):
195 image = self.get_mergedimage(index)
196 self.single_viewer.set_image(image)
197

References comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.get_mergedimage(), and comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.single_viewer.

Member Data Documentation

◆ buttons_layout

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.buttons_layout

Definition at line 136 of file comics_project_page_viewer.py.

◆ end_shortcut

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.end_shortcut

Definition at line 122 of file comics_project_page_viewer.py.

◆ first_btn

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.first_btn

Definition at line 125 of file comics_project_page_viewer.py.

◆ first_page

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.first_page

Definition at line 115 of file comics_project_page_viewer.py.

◆ home_shortcut

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.home_shortcut

Definition at line 114 of file comics_project_page_viewer.py.

◆ last_btn

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.last_btn

Definition at line 133 of file comics_project_page_viewer.py.

◆ last_page

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.last_page

Definition at line 123 of file comics_project_page_viewer.py.

◆ left_shortcut

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.left_shortcut

Definition at line 116 of file comics_project_page_viewer.py.

◆ left_viewer

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.left_viewer

Definition at line 96 of file comics_project_page_viewer.py.

◆ next_btn

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.next_btn

Definition at line 131 of file comics_project_page_viewer.py.

◆ next_page

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.next_page

Definition at line 101 of file comics_project_page_viewer.py.

◆ page_layout

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.page_layout

Definition at line 107 of file comics_project_page_viewer.py.

◆ pageIndex [1/2]

int comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.pageIndex = 0
static

Definition at line 79 of file comics_project_page_viewer.py.

◆ pageIndex [2/2]

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.pageIndex

Definition at line 172 of file comics_project_page_viewer.py.

◆ path_to_config

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.path_to_config

Definition at line 145 of file comics_project_page_viewer.py.

◆ prev_btn

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.prev_btn

Definition at line 127 of file comics_project_page_viewer.py.

◆ prev_page

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.prev_page

Definition at line 98 of file comics_project_page_viewer.py.

◆ projecturl

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.projecturl

Definition at line 148 of file comics_project_page_viewer.py.

◆ right_shortcut

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.right_shortcut

Definition at line 118 of file comics_project_page_viewer.py.

◆ right_viewer

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.right_viewer

Definition at line 99 of file comics_project_page_viewer.py.

◆ setupDictionary

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.setupDictionary

Definition at line 147 of file comics_project_page_viewer.py.

◆ single_viewer

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.single_viewer

Definition at line 102 of file comics_project_page_viewer.py.

◆ space_shortcut

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.space_shortcut

Definition at line 120 of file comics_project_page_viewer.py.

◆ spread [1/2]

bool comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.spread = True
static

Definition at line 80 of file comics_project_page_viewer.py.

◆ spread [2/2]

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.spread

Definition at line 179 of file comics_project_page_viewer.py.

◆ spread_btn

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.spread_btn

Definition at line 129 of file comics_project_page_viewer.py.

◆ toggle_spread

comics_project_management_tools.comics_project_page_viewer.comics_project_page_viewer.toggle_spread

Definition at line 130 of file comics_project_page_viewer.py.


The documentation for this class was generated from the following file: