Skip to content

Commit 11e16d3

Browse files
authored
v2.0.0 - Major Update: New Look & Enhanced Features (#3)
* create searchbar component * add load folder path functionality * made minor changes * create appearance mode toggler component * add utils package * add/update components * update main.py * add treeview component * update components * update logic functions * update main.py * add app screenshot * update requirements.txt * first version push * Bulk update * Restructure project folder * Remove metadata.yml * Update README * Restart development Rename �pps/ into �pp/ Delete bulk_docx_converter Delete single_docx_converter Isolate pdf_merger app including its components and utils Refactor sidebar component Create config.json * Minor tweaks Add header for treeview component Set fg_color of nav_frm to 'transparent' Set default appearanceMode to 'Sytem' in config.json * Rebrand app Change name from 'PDFMergeXpress' into 'FilePartner' Add logo * Update application Modularize components Rebrand application Redesign UI/UX
1 parent 56cf7a4 commit 11e16d3

28 files changed

+1249
-16
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,3 +158,6 @@ cython_debug/
158158
# and can be added to the global gitignore or merged into this file. For a more nuclear
159159
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
160160
#.idea/
161+
162+
# Ignore Inno Setup script files
163+
*.iss

LICENSE renamed to LICENSE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2023 Uzziel Kyle
3+
Copyright (c) 2024 Uzziel Kyle Ynciong
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 176 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,178 @@
1-
# PDFMergeXpress
1+
<a name="readme-top"></a>
22

3-
![App Screenshot](img/screenshot1-development.png)
3+
<!-- PROJECT SHIELDS -->
4+
<!--
5+
*** I'm using markdown "reference style" links for readability.
6+
*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).
7+
*** See the bottom of this document for the declaration of the reference variables
8+
*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.
9+
*** https://www.markdownguide.org/basic-syntax/#reference-style-links
10+
-->
411

5-
A simple PDF merging app made with customtkinter library.
12+
[![Contributors][contributors-shield]][contributors-url]
13+
[![Forks][forks-shield]][forks-url]
14+
[![Stargazers][stars-shield]][stars-url]
15+
[![Issues][issues-shield]][issues-url]
16+
[![MIT License][license-shield]][license-url]
17+
18+
<!-- PROJECT LOGO -->
19+
<br />
20+
<div align="center">
21+
<a href="https://github.com/UzziKyle/PDFMergeXpress">
22+
<img src="app/assets/img/logo.png" alt="Logo" width="150" height="150">
23+
<h3 align="center" style="color: black;">FilePartner</h3>
24+
</a>
25+
26+
<p align="center">
27+
A handy tool to help busy humans with their document problems.
28+
<br />
29+
<a href="https://github.com/UzziKyle/PDFMergeXpress/tree/docs/_index.md"><strong>Explore the docs »</strong></a>
30+
<br />
31+
<br />
32+
<a href="https://github.com/UzziKyle/PDFMergeXpress">View Demo</a>
33+
·
34+
<a href="https://github.com/UzziKyle/PDFMergeXpress/issues">Report Bug</a>
35+
·
36+
<a href="https://github.com/UzziKyle/PDFMergeXpress/issues">Request Feature</a>
37+
</p>
38+
</div>
39+
40+
<!-- TABLE OF CONTENTS -->
41+
<details>
42+
<summary>Table of Contents</summary>
43+
<ol>
44+
<li>
45+
<a href="#about-the-project">About The Project</a>
46+
<ul>
47+
<li><a href="#built-with">Built With</a></li>
48+
</ul>
49+
</li>
50+
<li>
51+
<a href="#getting-started">Getting Started</a>
52+
<ul>
53+
<li><a href="#prerequisites">Prerequisites</a></li>
54+
<li><a href="#installation">Installation</a></li>
55+
</ul>
56+
</li>
57+
<li><a href="#usage">Usage</a></li>
58+
<li><a href="#roadmap">Roadmap</a></li>
59+
<li><a href="#contributing">Contributing</a></li>
60+
<li><a href="#license">License</a></li>
61+
<li><a href="#contact">Contact</a></li>
62+
<li><a href="#acknowledgments">Acknowledgments</a></li>
63+
</ol>
64+
</details>
65+
66+
<!-- ABOUT THE PROJECT -->
67+
68+
## About The Project
69+
70+
![Product Name Screen Shot][product-screenshot]
71+
72+
Currently, **FilePartner** is an app that lets you merge multiple PDFs at once, from the root directory to its deepest sub-directories.
73+
74+
It was originally made to solve the problem of merging numerous PDF files during the accreditation process at Palawan State University. No optimal solution was found on the internet, hence this project was commenced.
75+
76+
The project has already had its first version and successfully helped school staff. It is now in the phase of adding more useful features.
77+
78+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
79+
80+
### Built With
81+
82+
[![Python][python]][python_url]
83+
[![CustomTkinter][customtkinter]][customtkinter_url]
84+
85+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
86+
87+
<!-- GETTING STARTED -->
88+
89+
## Getting Started
90+
91+
### Installation
92+
93+
1. Download the latest version [here](https://github.com/UzziKyle/PDFMergeXpress/releases/tag/v1.0.0).
94+
2. Run the installer and follow everything through.
95+
3. Enjoy using **FilePartner**!
96+
97+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
98+
99+
<!-- USAGE EXAMPLES -->
100+
101+
## Usage
102+
103+
To be updated.
104+
105+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
106+
107+
<!-- ROADMAP -->
108+
109+
## Roadmap
110+
111+
- [x] **New appearance**
112+
- [x] Change of name
113+
- [ ] Typography
114+
- [x] Color palette
115+
- [x] Custom logo
116+
- [ ] **Docx to PDF converter**
117+
- [ ] Individual file
118+
- [ ] Bulk files
119+
- [ ] **Image to PDF converter**
120+
- [ ] **Documentations**
121+
122+
See the [open issues](https://github.com/UzziKyle/PDFMergeXpress/issues) for a full list of proposed features (and known issues).
123+
124+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
125+
126+
<!-- CONTRIBUTING -->
127+
128+
## Contributing
129+
130+
<!-- To be changed - uzzi -->
131+
132+
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
133+
134+
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
135+
Don't forget to give the project a star! Thanks again!
136+
137+
1. Fork the Project
138+
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
139+
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
140+
4. Push to the Branch (`git push origin feature/AmazingFeature`)
141+
5. Open a Pull Request
142+
143+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
144+
145+
<!-- LICENSE -->
146+
147+
## License
148+
149+
Distributed under the MIT License. See `LICENSE.txt` for more information.
150+
151+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
152+
153+
<!-- ACKNOWLEDGMENTS -->
154+
155+
## Acknowledgments
156+
157+
- [CustomTkinter]([customtkinter_url]) by [TomSchimansky](https://github.com/TomSchimansky)
158+
159+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
160+
161+
<!-- MARKDOWN LINKS & IMAGES -->
162+
<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->
163+
164+
[contributors-shield]: https://img.shields.io/github/contributors/UzziKyle/PDFMergeXpress.svg?style=for-the-badge
165+
[contributors-url]: https://github.com/UzziKyle/PDFMergeXpress/graphs/contributors
166+
[forks-shield]: https://img.shields.io/github/forks/UzziKyle/PDFMergeXpress.svg?style=for-the-badge
167+
[forks-url]: https://github.com/UzziKyle/PDFMergeXpress/network/members
168+
[stars-shield]: https://img.shields.io/github/stars/UzziKyle/PDFMergeXpress.svg?style=for-the-badge
169+
[stars-url]: https://github.com/UzziKyle/PDFMergeXpress/stargazers
170+
[issues-shield]: https://img.shields.io/github/issues/UzziKyle/PDFMergeXpress.svg?style=for-the-badge
171+
[issues-url]: https://github.com/UzziKyle/PDFMergeXpress/issues
172+
[license-shield]: https://img.shields.io/github/license/UzziKyle/PDFMergeXpress.svg?style=for-the-badge
173+
[license-url]: https://github.com/UzziKyle/PDFMergeXpress/blob/master/LICENSE.txt
174+
[product-screenshot]: docs/assets/img/product_screenshot.png
175+
[python]: https://img.shields.io/badge/python-000000?style=for-the-badge&logo=python&logoColor=white
176+
[python_url]: https://www.python.org/
177+
[customtkinter]: https://img.shields.io/badge/customtkinter-blue?style=for-the-badge
178+
[customtkinter_url]: https://github.com/TomSchimansky/CustomTkinter

app/assets/icon/logo.ico

170 KB
Binary file not shown.

app/assets/img/logo.png

48.4 KB
Loading

app/assets/themes/metal.json

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
{
2+
"CTk": {
3+
"fg_color": ["#E0E0E0", "#363636"]
4+
},
5+
"CTkToplevel": {
6+
"fg_color": ["#E0E0E0", "#363636"]
7+
},
8+
"CTkFrame": {
9+
"corner_radius": 6,
10+
"border_width": 0,
11+
"fg_color": ["#C0C0C0", "#404040"],
12+
"top_fg_color": ["#A0A0A0", "#505050"],
13+
"border_color": ["#808080", "#606060"]
14+
},
15+
"CTkButton": {
16+
"corner_radius": 6,
17+
"border_width": 0,
18+
"fg_color": ["#A0A0A0", "#505050"],
19+
"hover_color": ["#909090", "#606060"],
20+
"border_color": ["#3E454A", "#949A9F"],
21+
"text_color": ["#F0F0F0", "#F0F0F0"],
22+
"text_color_disabled": ["#C0C0C0", "#808080"]
23+
},
24+
"CTkLabel": {
25+
"corner_radius": 0,
26+
"fg_color": "transparent",
27+
"text_color": ["#363636", "#F0F0F0"]
28+
},
29+
"CTkEntry": {
30+
"corner_radius": 6,
31+
"border_width": 2,
32+
"fg_color": ["#F0F0F0", "#363636"],
33+
"border_color": ["#808080", "#606060"],
34+
"text_color": ["#363636", "#F0F0F0"],
35+
"placeholder_text_color": ["#878787", "#757575"]
36+
},
37+
"CTkCheckBox": {
38+
"corner_radius": 6,
39+
"border_width": 3,
40+
"fg_color": ["#A0A0A0", "#505050"],
41+
"border_color": ["#3E454A", "#949A9F"],
42+
"hover_color": ["#A0A0A0", "#505050"],
43+
"checkmark_color": ["#F0F0F0", "#D0D0D0"],
44+
"text_color": ["#363636", "#F0F0F0"],
45+
"text_color_disabled": ["#808080", "#6C6C6C"]
46+
},
47+
"CTkSwitch": {
48+
"corner_radius": 1000,
49+
"border_width": 3,
50+
"button_length": 0,
51+
"fg_color": ["#B0B0B0", "#505050"],
52+
"progress_color": ["#A0A0A0", "#505050"],
53+
"button_color": ["#606060", "#D0D0D0"],
54+
"button_hover_color": ["#404040", "#F0F0F0"],
55+
"text_color": ["#363636", "#F0F0F0"],
56+
"text_color_disabled": ["#808080", "#6C6C6C"]
57+
},
58+
"CTkRadioButton": {
59+
"corner_radius": 1000,
60+
"border_width_checked": 6,
61+
"border_width_unchecked": 3,
62+
"fg_color": ["#A0A0A0", "#505050"],
63+
"border_color": ["#3E454A", "#949A9F"],
64+
"hover_color": ["#909090", "#606060"],
65+
"text_color": ["#363636", "#F0F0F0"],
66+
"text_color_disabled": ["#808080", "#6C6C6C"]
67+
},
68+
"CTkProgressBar": {
69+
"corner_radius": 1000,
70+
"border_width": 0,
71+
"fg_color": ["#B0B0B0", "#505050"],
72+
"progress_color": ["#A0A0A0", "#505050"],
73+
"border_color": ["#808080", "#808080"]
74+
},
75+
"CTkSlider": {
76+
"corner_radius": 1000,
77+
"button_corner_radius": 1000,
78+
"border_width": 6,
79+
"button_length": 0,
80+
"fg_color": ["#B0B0B0", "#505050"],
81+
"progress_color": ["#707070", "#808080"],
82+
"button_color": ["#A0A0A0", "#505050"],
83+
"button_hover_color": ["#909090", "#606060"]
84+
},
85+
"CTkOptionMenu": {
86+
"corner_radius": 6,
87+
"fg_color": ["#A0A0A0", "#505050"],
88+
"button_color": ["#909090", "#606060"],
89+
"button_hover_color": ["#707070", "#404040"],
90+
"text_color": ["#F0F0F0", "#F0F0F0"],
91+
"text_color_disabled": ["#C0C0C0", "#808080"]
92+
},
93+
"CTkComboBox": {
94+
"corner_radius": 6,
95+
"border_width": 2,
96+
"fg_color": ["#F0F0F0", "#363636"],
97+
"border_color": ["#808080", "#606060"],
98+
"button_color": ["#808080", "#606060"],
99+
"button_hover_color": ["#707070", "#404040"],
100+
"text_color": ["#363636", "#F0F0F0"],
101+
"text_color_disabled": ["#A0A0A0", "#808080"]
102+
},
103+
"CTkScrollbar": {
104+
"corner_radius": 1000,
105+
"border_spacing": 4,
106+
"fg_color": "transparent",
107+
"button_color": ["#606060", "#505050"],
108+
"button_hover_color": ["#404040", "#606060"]
109+
},
110+
"CTkSegmentedButton": {
111+
"corner_radius": 6,
112+
"border_width": 2,
113+
"fg_color": ["#808080", "#363636"],
114+
"selected_color": ["#A0A0A0", "#505050"],
115+
"selected_hover_color": ["#909090", "#606060"],
116+
"unselected_color": ["#808080", "#363636"],
117+
"unselected_hover_color": ["#B0B0B0", "#505050"],
118+
"text_color": ["#F0F0F0", "#F0F0F0"],
119+
"text_color_disabled": ["#C0C0C0", "#808080"]
120+
},
121+
"CTkTextbox": {
122+
"corner_radius": 6,
123+
"border_width": 0,
124+
"fg_color": ["#F0F0F0", "#1D1E1E"],
125+
"border_color": ["#808080", "#606060"],
126+
"text_color": ["#363636", "#F0F0F0"],
127+
"scrollbar_button_color": ["#606060", "#505050"],
128+
"scrollbar_button_hover_color": ["#404040", "#606060"]
129+
},
130+
"CTkScrollableFrame": {
131+
"label_fg_color": ["#A0A0A0", "#505050"]
132+
},
133+
"DropdownMenu": {
134+
"fg_color": ["#E0E0E0", "#363636"],
135+
"hover_color": ["#C0C0C0", "#404040"],
136+
"text_color": ["#363636", "#E0E0E0"]
137+
},
138+
"CTkFont": {
139+
"macOS": {
140+
"family": "SF Display",
141+
"size": 13,
142+
"weight": "normal"
143+
},
144+
"Windows": {
145+
"family": "Roboto",
146+
"size": 13,
147+
"weight": "normal"
148+
},
149+
"Linux": {
150+
"family": "Roboto",
151+
"size": 13,
152+
"weight": "normal"
153+
}
154+
}
155+
}

app/components/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from .appearance_mode_toggler import AppearanceModeToggler
2+
3+
4+
__all__ = [
5+
'AppearanceModeToggler',
6+
'Searchbar',
7+
]

0 commit comments

Comments
 (0)